home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / t_unix / j109lxa4.tar / readme.now < prev    next >
Text File  |  1994-06-04  |  92KB  |  2,199 lines

  1. ***IF YOU USE NETROM WITH MY CODE, PLEASE READ THIS !!!***
  2.  
  3. This is a  *brief* description of the mods i've made
  4. in JNOS v1.08 (and earlier)
  5. Base code was 911229 (KA9Q) PA0GRI v1.8a
  6.  
  7. The OBJECTIVE of this code is the improve the use and features of NOS.
  8. A lot of the work is done through cooperative discussion and testing
  9. among the subscribers of the Internet maillist 'nos-bbs@hydra.carleton.ca'
  10. (to subscribe, send mail to 'nos-bbs-request@hydra.carleton.ca')
  11. A lot of new stuff comes from code fragments or suggestions contributed by
  12. people on that maillist, most of wich are avid users of the code.
  13. This code is a continuously developing piece of work, and as such, it should
  14. be seen as a BETA software, no matter whether it is indicated as such or not.
  15. You should not expect this to be a 'plug and play' solution to tcp/ip over
  16. packet radio. If you experience problems, feel free to contribute
  17. 'constructive' critisism to the author or the discussion group.
  18.  
  19. FREQUENTLY ASKED QUESTIONS
  20. My docs, docsxxx.zip, where xxx is the latest version of the docs, now
  21. contains the tcp-group FAQ file. Please refer to this file to try and find
  22. answers to your questions...
  23.  
  24. COMPILER:
  25. In the makefile, you have the option of compiling with TC2.0, BC++2.0 or
  26. BC++3.0/1 . You can also choose to compile for 8086, or 80186 cpu.
  27.  
  28. If you choose the TC2.0 compiler, be aware that there is one function
  29. that doesn't exist in the TC2.0 library. This is the mktime() call.
  30. There is a substitute in expire.c, but it is NOT 100% accurate. Ie. times
  31. converted and used by the expire code will be off by a few hours...
  32. You also have to tone down the config.h file, since you are likely to run out
  33. of DGROUP space. TC2.0 doesn't allow for other segments to be used (the -Ff=x
  34. option in BC++2.0 and above).
  35.  
  36. Starting with 1.08, I use Borland C++ 3.1 for all executables i distribute.
  37.  
  38. Please also refer to the FAQ, mentioned above, for more info on compiling
  39. the code.
  40.  
  41. CONFIG.H:
  42. There are several different configurations in the source archive.
  43. distconf.h - used to create the distribution executable (8086 code)
  44. bbsconf.h  - as i run it on my bbs system. (WG7J.OR.USA.NA)
  45. gwconfig.h - as i run it on my Internet gateway system (wg7j.ece.orst.edu)
  46. no_ax25.h  - test compile without ax.25 and net/rom code
  47. users.h    - end-user, with serial port and scc drivers, but no bbs options
  48. switch.h   - switch configuration, no mailbox interface.
  49.  
  50. NOTE:
  51. PA0GRI included most of my mods from v0.94 and earlier in his v1.9c and later
  52. I have added additional mods from PA0GRI's v1.9c/d and v2.0a-f
  53.  
  54. DOCUMENTATION:
  55. All PA0GRI specific commands can be found is his nos_1229.man .
  56. As of v1.00 I have written a hopefully more comprehensive document
  57. describing how to use the mods. Some of that is aimed at running
  58. this code as a fullservice BBS, as i do at wg7j.or.usa.na
  59. This can all be found in wg7jmods.txt in the archive wg7jdoc.zip
  60. (last updated for 1.05 ! See this file for 1.06...)
  61.  
  62. SOURCES:
  63. If you obtained sources, feel free to do with them as you please,
  64. as long as you keep and obide the copyrights in the different source modules!
  65. If you add substantial stuff to the code, please modify the version string
  66. in version.c to reflect this. (So i won't have to answer tons of questions
  67. about stuff i didn't write)
  68.  
  69. Latest sources can be obtained on Internet by anonymous ftp from
  70. wg7j.ece.orst.edu in ./1.02 ./1.03 etc.
  71. ucsd.edu in hamradio/packet/tcpip/wg7j
  72. tomcat.gsfc.nasa.gov in tcp/nos/wg7j
  73.  
  74. They can also be found on several phone bbs systems, shortly after
  75. the release date.  Here are some to try (all in the U.S.A.):
  76.  
  77.         N8EMR's Ham BBS (614) 895-2553
  78.         ChowdaNet       (401) 331-0334
  79.  
  80. NOTE: Due to large workload, I no longer will send you sources!!!
  81.  
  82. If you add/modify anything that might be useful to others, I would
  83. appreciate the mods, to possibly add to the code.
  84.  
  85.     As always,
  86.     questions, remarks, suggestions
  87.         are welcome.
  88.  
  89.         Johan Reinalda, WG7J/PA3DIS
  90.         420 NW 9th
  91.         Corvallis, OR 97330
  92.         U.S.A.
  93.  
  94.         email: johan@ece.orst.edu (or wg7j@wg7j.ampr.org.)
  95.         (or the sloooower WG7J@WG7J.OR.USA.NA via packet)
  96.  
  97. "Definitive is the source, not this note :-)"
  98.  
  99. HINT HINT HINT HINT :
  100. if you are experiencing problems receiving with certain tnc's with this
  101. code, set the dtr and rts parameters correctly
  102. 'param <iface> dtr 1' and 'param <iface> rts 1'
  103. (this is due to a rewrite of the original 8250 drivers
  104.  in KA9Q 911218 and later)
  105.  
  106. ERRORS IN NOS:
  107. Here is the long awaited list of error numbers used in nos!
  108. The number listed are directly from the sources (socket.h),
  109. and when appropriate, are followed by a little description I've
  110. shaken out of my pen :-)
  111.  
  112. #define EMFILE          1
  113. #define EBADF           2
  114. #define EINVAL          3
  115. #define ESOCKTNOSUPPORT 4       Socket type not supported
  116. #define EAFNOSUPPORT    5       Address family not supported
  117. #define EOPNOTSUPP      6       Option not supported
  118. #define    EFAULT        7
  119. #define ENOTCONN        8       No connection established
  120. #define ECONNREFUSED    9       Already connected, or refused
  121. #define EAFNOSUPP    10
  122. #define    EISCONN        11
  123. #define EWOULDBLOCK     12      Socket would have blocked
  124. #define    EINTR        13
  125. #define EADDRINUSE      14      Address already in use
  126. #define ENOMEM          15      Not enough system memory to do task
  127. #define EMSGSIZE    16
  128. #define    EALARM        17
  129. #define EABORT          18      Action aborted
  130.  
  131.  
  132. Additions/changes are:
  133. 1.09 (???)
  134.  
  135. - from Lars, sm6rpz:
  136.   * 'mem efficient' command deleted, since it has been totally
  137.   useless for "eons" :)
  138.  
  139.   * ax.25 dis-connected state transition memory overwrite problem fixed.
  140.  
  141.   * tcp_reset problem fixed.
  142.  
  143.   * iface detach routines clean out ax.25 routes.
  144.  
  145.   * makeroutes() in rspf.c bug fix.
  146.  
  147. - rewrite file now ignores additional spaces and tabs; from kd4cim
  148.  
  149. - kiss.c time-problem in interface-send fixed.
  150.  
  151. - "exit" command from the keyboard now asks if you want to do it.
  152.   (if not from keyboard, this is skipped...)
  153.  
  154. - 'at' command is now a process, solves lots of problems...
  155.  
  156. - convers.c /p and memory problems fixed, from VE3DTE
  157.  
  158. - duplicate bid in smtpserv solved, from KD4CIM
  159.  
  160. - smtp looping 'hard' fix: if it occurs, message is dropped.
  161.   (a '550' error code is sent, causing a 'hard-error')
  162.  
  163. - xspawn dropped from distribution because of many problems reported
  164.  
  165.  
  166. 1.08df (930404)
  167.  
  168. From WA3DSP:
  169. This source code is JNOS108D with most all prototype errors corrected.
  170. Those not corrected are in some drivers - in particuliar the twin drivers.
  171. Also other nagging errors have been corrected.
  172. A compile should show NO errors unless you are using a module I was not
  173. when I went over this.
  174. Also - 
  175. - DOS 6.0 support added in MAIN
  176. - ASM's are 386 compliant
  177. - Makefile has 386 compile option
  178. - Makefile uses strictly autodepend - no .h dependecies required - works
  179.   good for borland c 3.1 - This makefile should be included as an option
  180.   for those using it!! It is much more reliable and less subject to problems.
  181. - Ifdef's added on modules - some may still be missing - decreases compile 
  182.   time significantly when that module is not defined 
  183. - Some other minor fixes.
  184.  
  185.  
  186. 1.08d (930311)
  187.  
  188. - new tipmail.c from Doug, wa3dsp
  189.  
  190. - 'domain startdns' is gone. Domain Name Server can be turned on and off,
  191.   with 'domain dns [on|off]'
  192.   Also found a problem in getline.c where domain.txt is read...
  193.  
  194. - convers server has been optimized to send less multiple-packet responses.
  195.  
  196. - 'convers allow' is now replaced with 'convers filter'
  197.   'convers filter mode [accept|refuse]' shows or sets the mode (default refuse)
  198.   'convers filter [ipaddress|hostname]' add an ip address to the filter
  199.   table.
  200.   If filter mode is refuse, then convers links from hosts in the list will
  201.   be refused. If filter mode is accept, then only links from hosts in the
  202.   list will be accepted.
  203.  
  204.  
  205. 1.08c (930305)
  206.  
  207. - several system errors and permission infringements will now send
  208.   a message to the user 'sysop'.
  209.   This is controlled with 'error [on|off]'. Default is on.
  210.  
  211. - BBS R:-line sends message BID as well
  212.  
  213. - local fingers now work. Eg 'finger johan'
  214.  
  215. - several Turbo-C 2.0 compile problems fixed; from Jim Dugal, N8KNX
  216.  
  217. - Mailbox R/V/K commands allow message ranges... Eg: 'R 1-4', from N8KNX
  218.  
  219. - problems with smtp BID checking should be fixed...
  220.  
  221.  
  222. 1.08b (930224)
  223.  
  224. -smtp server bid problem fixed.
  225.  
  226. -finger server fixed
  227.  
  228.  
  229. 1.08 (930222)
  230.  
  231. - all commands that effect interface flags have new syntax.
  232.   They now need ON or OFF to set the state of the flag.
  233.   If no interface is given, all interfaces with the flag set will be shown.
  234.   If interface is given, but no on|off, then the state of the flag will
  235.   be shown.
  236.  
  237.   Eg:
  238.   ax25 bcport
  239.         will show ALL active ax.25 beacon interfaces
  240.   mbox hideport 2m
  241.         will show the state of the interface '2m'
  242.   convers interface 2m on
  243.         will turn on convers call access on interface '2m'
  244.   ax25 digipeat 2m off
  245.         will turn off digipeating on interface '2m'
  246.  
  247.   The command affected are:
  248.  
  249.   mbox ax25only [iface] [on|off]
  250.   mbox useronly [iface] [on|off]
  251.   mbox sysoponly [iface] [on|off]
  252.   mbox bbsonly [iface] [on|off]
  253.   mbox mport [iface] [on|off]
  254.   mbox hport [iface] [on|off]
  255.   convers interface [iface] [on|off]
  256.   ax25 digipeat [iface] [on|off]
  257.   ax25 bcport [iface] [on|off]
  258.   ax25 hport [iface] [on|off]
  259.   ip hport [iface] [on|off]
  260.   arp poll [iface] [on|off]
  261.   arp eaves [iface] [on|off]
  262.  
  263.   NOTE that ax.25 ports now default to ON for:
  264.   beacon, mail-id, digipeat, ax-heard and ip-heard !!!
  265.  
  266. - the BID checking in the SMTP server (from 1.05) now works !
  267.   if a 'Message-Id: ' line is received with a valid BID format
  268.   (ie. 'BID#@Bbscall.bbs' format), then the BID will be cross checked
  269.   with the ax.25 bid file ('history' file). If a duplicate, response will be
  270.   "452 Duplicate BID in Message-Id line\n";
  271.  
  272. - 'repeat [interval in ms] command (from new ka9q, ported by wa3dsp)
  273.   Starts a new session screen with the output of the command updated
  274.   every interval ms. If you hit F10 it ends the session.
  275.   Eg: repeat 1000 t s
  276.   (repeat every second 'tcp status' command)
  277.  
  278. - buckbook support driver updated; again, this is NOT tested !.
  279.  
  280. - for all AX.25 ports, you can now indicate what kind (if any) of mailbox
  281.   connections are allowed.
  282.  
  283.   mbox noax25 [<iface>] [on|off]
  284.         shows or setss the 'no ax25 maibox connections.
  285.         This prohibits mailbox connects, but still allows IP in VC mode.
  286.  
  287.   mbox bbsonly [<iface>] [on|off]
  288.         shows or toggles 'bbs only' per port. The IS_BBS bit
  289.         in /ftpusers has to be set in order to be able to login to the bbs
  290.  
  291.   mbox usersonly [<iface>] [on|off]
  292.         shows or toggles the 'users only' flag. Any call with the IS_BBS
  293.         flag NOT set can login to the bbs via this port
  294.  
  295.   mbox sysoponly [<iface>] [on|off]
  296.         shows or toggles the 'sysop only' flag. Any
  297.         call with sysop permissions can login to the bbs via this port.
  298.  
  299.   NOTE: this does NOT work for NET/ROM and TCP connections, since for those
  300.   protocols there is no real concept of incoming port...
  301.  
  302. - TIP MAILBOX improvements from Doug Crompton, WA3DSP
  303.   CD is now detected and influences the login, and XMODEM transfers can
  304.   be done with TIP logins. Here is what Doug writes about it:
  305.  
  306. NEW commands  -
  307.  
  308. 'start tip <interface> <terminal|modem> [timeout seconds]'
  309. BBS added commands - 'dx <filename>' , 'ux <filename>'
  310. Deleted command - 'mbox tiptimeout'
  311.  
  312. Tip code has been extensively modified. It now works with a terminal
  313. (3 wire connect) or modem (CD)  Two tiers of timers, the first being
  314. set on the 'start tip' command line and the second "grace" timer fixed
  315. at 1 minute. CD loss is unconditionally detected. 
  316.  
  317. Tip timeout timers should not effect xmodem as long as they are not set
  318. shorter than xmodem timeout - 120 seconds. Tip default is 180 seconds.
  319. The 'mbox tiptimeout' command has been taken out - setting is in the
  320. start tip command line.
  321.  
  322. Phone connects, and xmodem successful up/downloads are logged if logging
  323. is turned on. xmodem BBS commands are only available with tip connects.
  324. Only 128 byte xmodem packets are allowed at this time. This is the standard
  325. original xmodem format that is supported on most all comm programs.
  326.  
  327. Note that most internal modems do not use a 16550. Therefore on heavily
  328. loaded NOS systems it might be desireable to use an external modem with
  329. a 16550 serial port. I have not run my system above 2400 baud using an
  330. internal modem. Based on what I see on my system I would expect that
  331. a 16550 interface would be a requirement for higher baud rates - I.E 9600.
  332.  
  333.  
  334. - 'convers maxq' command sets or shows the maximum transmit data outstanding
  335.   on convers links (permlink or other) before a hostlink is rudely reset.
  336.   Default is 5kb (ie 5120 bytes)
  337.  
  338. - Bulletins with NO BID can be refused if 'mbox nobid off'
  339.   off means refuse them, on means accept. Default is OFF, ie refuse !
  340.  
  341. - NOTE: the 'mbox haddress' now NEEDS THE CALLSIGN !!!
  342.   eg:  mbox haddress WG7J.OR.USA.NA   !!
  343.   The First part (ie WG7J) will be used to assign BID/MID's from our
  344.   system, eg 1234_WG7J
  345.  
  346. - device files etc. can not be opened anymore; ie no more finger crashes
  347.   to 'CON' 'AUX' etc...
  348.  
  349. - bug in 'route lookup' fixed
  350.  
  351. - Mbox forwarding now marks ALL messages that received the 'NO'
  352.   reply as forwarded.
  353.  
  354. - Mbox forwarding now sends all mail in areas starting with 'nts'
  355.   as traffic, ie. with 'ST'.
  356.  
  357. - a finger to 'links' will shows all convers links at the system.
  358.  
  359. - fixed 'ftp mput' command.
  360.  
  361. - 'convers maxwait' sets the maximum time to wait before trying to
  362.   re-establish a link, after convers links have timed out.
  363.  
  364. - you can now undefine the mail commands (S,R,K,V etc) from the mailbox
  365.   interface, do '#undef MAILCMDS' in config.h
  366.  
  367. - if the first chararcter of a function key definition is the '~' char,
  368.   the following characters will be sent to the command session, and
  369.   NOT the current session. Command sessions becomes the active one.
  370.   Eg. fkey 63 "~ps\n"  allows you to do a ps from any session (output
  371.   will go to command session, wich is made active immediately)
  372.  
  373. - small problem with non ampr.org. domain names in domain.c (resolve_a())
  374.   fixed.
  375.  
  376. - there is no limit of 10 mbox/convers-call users anymore; now only limited
  377.   by memory resources...
  378.  
  379. - mailbox gateway escape char defaults to ctrl-T, to accomodate tnc's (wich
  380.   use the formerly used ctrl-X for line editing)
  381.  
  382. - mailbox disconnect when sending a message and it cannot create tempfiles
  383.  
  384. - message numbers are now in the range 1-99999 (in smtpserv.c)
  385.  
  386. - 'ax25 dest' is now same as 'ax25 hearddest'
  387.  
  388. - tip incoming sessions fixed, go to mailbox again.
  389.  
  390. - even when netrom is not active, you can still set an alias callsign
  391.   for users to connect to.
  392.   'ax25 alias' sets or displays it. Old 'netrom alias' modifies the same call!
  393.  
  394. - duplicate MID problem fixed in smtpserv.c, from KO4KS
  395.  
  396. - ftp server tells file size before transfer starts, from N1BEE
  397.  
  398. - 'mbox header off' also turns off 'mbox thirdparty' !
  399.  
  400. - xspawn shelling modified. Seems to fix most problems.
  401.   Known to still lock up with some ethernet drivers.
  402.   From Brian Lantz, KO4KS
  403.  
  404. - OS/2 multitasking now correctly recognized, from N1BEE
  405.  
  406. - added pop2serv.c and pop3serv.c from N1BEE's v0.85 release.
  407.  
  408. - small nr4 fix from N1BEE
  409.  
  410. - fix for pi driver, from Dave, ve3ifb
  411.  
  412. - stktrace added to buffer-overwrite in sockuser.c; to help trace this.
  413.  
  414.  
  415. 1.07b (921217)
  416.  
  417. - 'mbox motd' is gone; instead, the contents of the file /spool/motd.txt
  418.   will be shown when users login to the bbs.
  419.  
  420. - 'fmotd' is gone; instead, set the ftp message of the day in the file
  421.   /spool/ftpmotd.txt . It will be shown before the ftp login sequence starts.
  422.  
  423.  
  424. 1.07  (921215)
  425.  
  426. - smtp client has been modified.
  427.   'smtp t4' sets a timeout limit (in seconds) for attempts to deliver mail.
  428.   If t4 is 0 (default), behaviour is as before (direct delivery is attempted
  429.   to the host or mx-host.)
  430.   If t4 is set, behaviour changes as follows:
  431.   If a connection has not been established in t4 seconds, the mail will
  432.   be attempted to be delivered to the 'smtp gateway' (if one is defined)
  433.  
  434. - pop code has been modified to hopefully eliminate potential crashes.
  435.   (from Mike Billow, N1BEE)
  436.  
  437. - socklen() fixed for netrom L4. From Paul Healy, EI9GL
  438.  
  439. - lower case only stuff in ftp login eliminated. It is now correctly case-
  440.   sensitive.
  441.  
  442. - added 'tcp blimit' to limit backoff for tcp connections.
  443.  
  444. - 'rip kick' added to send an immediate rip update. From Dave, ve3ifb
  445.  
  446. - mailbox now supports MID's on receiving and forwarding of messages.
  447.  
  448. - 'ftpusers' permissions can be set in hexadecimal, ie '0x32', or '50'
  449.  
  450. - mailbox escape checking can now be set to off in ftpusers file. Add
  451.   #define NO_ESCAPE 65536
  452.   to the permission for a user to have it default to no escape checking while
  453.   gatewaying out. User can change the default. The mailbox 'E' command now
  454.   works as follows:
  455.   'E' shows status (ie. on/off) and escape character.
  456.   'E arg'
  457.         -if arg is one character, it is interpreted as the new escape char
  458.         -if arg starts with a number, it is interpreted as the ascii number
  459.          for the new escape char
  460.         -else if arg starts with 'off' or 'dis' (not case ssensitive)
  461.          then scape checking is turned off
  462.         -anything else will turn escape checking on.
  463.  
  464. - 'more' and 'dir' commands now work correctly from remote sysop.
  465.    Note that there currently is NO -more-? prompting when executed from
  466.    remote !
  467.  
  468. - Forward polling added. If there are no message to be sent to the bbs,
  469.   the system will poll the remote bbs for messages when the forward timer
  470.   expires.  Simply add a 'P' to the end of the first line in the forward.bbs
  471.   script. Thus the format is now either
  472.   <bbsname> P
  473.   or
  474.   <bbsname> <[time]...[time]> P
  475.  
  476. - Extended IP access code. (usefull for gateways only)  NOTE: this is
  477.   NOT compatible with the old version. Ie. modify your autoexec.nos !!!
  478.   Here is the new command format:
  479.  
  480.   access <state> <proto> <src>[/<bits>] <dest>[/<bits>] <if> [<low> [<high>]]
  481.  
  482.   where:
  483.  
  484.   proto = {any|tcp|udp|icmp|<number>} (<number> = decimal IP protocol number)
  485.   dest  = Destination IP address (or "any"), just like <src>
  486.  
  487.   The rest of the parameters are the same as before.  The port parameters are
  488.   used only if proto is "tcp" or "udp"; they are ignored otherwise.
  489.  
  490.   Here are some examples:
  491.  
  492.   ip access permit any  192.111.106/24  all             eth
  493.   ip access permit tcp  all             all             eth     25
  494.   ip access permit tcp  all             all             eth     53
  495.   ip access permit udp  all             all             eth     53
  496.   ip access deny   tcp  all             130.137/16      eth     1       1023
  497.   ip access deny   udp  all             130.137/16      eth     1       1023
  498.   ip access permit any  all             all             eth
  499.  
  500.   Note that the new "ip access" command format is incompatable with the old.  I
  501.   guess I could have made it backward compatable, but I thought it would look
  502.   ugly if I did.
  503.  
  504.   The "ip access" command code could probably stand some additional error
  505.   checking on parameters.  For example, only the first letter of the protocol
  506.   is used (e.g., "ijkl" == "icmp").  If the low port is set to zero, this
  507.   means ignore the port numbers (the same as "all" or just leaving them out),
  508.   whereas it probably ought to generate an error.
  509.  
  510.  
  511. - automatic personal information for convers users.
  512.   When a user log in, either from mbox, convers call, or convers server,
  513.   the Cinfo file is searched for the user name. The Cinfo file defaults to
  514.   /finger/dbase.dat. Name and text need to be separated with a space or tab.
  515.   Everything that follows the name will be set as the personal info.
  516.   Note that the default file is the SAME as the finger database file !!!
  517.   However, this can be changed with the 'Cinfo' line in the filename config
  518.   file described below. (-f command line option)
  519.   Eg. if the Cinfo file contains the line
  520.   'wg7j Johan, in Corvallis, OR, USA'
  521.   then when wg7j logs in to your server, his /p info will be set to
  522.   'Johan, in Corvallis, OR, USA'
  523.  
  524. - command recall feature.
  525.   Command are saved in a circular buffer of a size that can be set with
  526.   'history #', eg. 'history 10', which is the default.
  527.   'history' will show the maximum set, and the history list kept.
  528.   'history 0' disables the feature.
  529.  
  530.   The up-arrow and down-arrow will cycle through old commands when in the
  531.   command session. No editing (yet), just recall.
  532.  
  533. - added case-insensitivity to convers loop detection code, to handle other
  534.   convers systems better...
  535.  
  536. - fixed some defines to allow MAILBOX to be undefined in config.h
  537.  
  538. - sockuser() 'protected' against overwriting of output buffers. System will
  539.   write a message to the log file, and then reboot :-(
  540.  
  541. - mailbox forwarding R: line needs to be explicitely turned on with
  542.   'mbox header on'
  543.  
  544.   This is so that regular users can forward from jnos to another system
  545.   designated as full-service bbs, without leaving a trace of their system.
  546.   This avoids other bbs systems marking them as a fullservice bbs.
  547.  
  548.   (The elements of the R: header are now optional. If not set, they will
  549.    not show in the line, instead of show as 0 or null-strings.)
  550.  
  551. - some more stuff from wa3dsp:
  552.  
  553.   * 'prompt on|off'  - defaults to off
  554.     Turns ON or OFF the display of the current directory at the command prompt
  555.  
  556.   * Commands - rename, copy, dir, cd, pwd, more, tail, del, mkdir rmdir
  557.   now use fully qualified names based on the command session current
  558.   directory. This directory can be ANY valid drive/directory on the
  559.   system.
  560.  
  561.   The command session current buffer assumes the current directory at
  562.   NOS startup. When 'cd' is exercised at the net prompt the ACTUAL
  563.   dos drive and or directory are never changed. Instead the path on a
  564.   per drive basis is stored in a structure known to the command session.
  565.   Filenames are built into fully qualified names using the path and supplied
  566.   name.
  567.  
  568.   This is the same way it is done in the FTPCLI in my previous mods.
  569.   PLEASE advise if there are any other commands that should use this method
  570.   that I may have missed.
  571.  
  572.   * Option added to MORE  - more <filename> [searchstring]
  573.     If searchstring is specified only lines containing the string are displayed.
  574.  
  575.     more /spool/log bbs           - display lines in logfile with the text "bbs"
  576.     more /autoexec.nos netrom     - display lines with text netrom
  577.     more myfile "text to display" - if text contains spaces use quotes!
  578.  
  579.    * Option added to domain - domain look <searchstring>
  580.      This is just a call to the 'more' command with the '/domain.txt' file
  581.      specified.
  582.         domain look 44.80.8
  583.         domain look wa3dsp
  584.  
  585. - All files in nos now can be on any drive and directory. A 'file-naming'
  586.   configuration file can be named on the command line with the -ffilename
  587.   option. (If filename is not given, the -f option will be ignored)
  588.   Eg:  nos -fnos.cfg
  589.  
  590.   The format of the config files is as shown in the accompanying nos.cfg.
  591.   Ie. filename = directory-or-file-path, where dir-or-file-path can be any
  592.   valid path or filename.
  593.  
  594.   This now allows things to be in places that optimize the speed; ie; you
  595.   can copy certain things to ramdrives etc before running nos, and then
  596.   use the much faster access times to improve speed...
  597.  
  598.   You can still use the -d option to set a new 'root' directory for nos.exe,
  599.   but it is only usefull if used before the -f option. If you use -d,
  600.   then you can use the -f to move some files to non-standard directories
  601.   by simply commenting out the files you don't want moved...
  602.   eg.   nos -d/nos -fnos.cfg    is valid
  603.   but   nos -fnos.cfg -d/nos    causes the -d to be ignored !!!
  604.  
  605. - XSPAWN library (c) Whitney Software used to allow swapping out of JNOS
  606.   when shelling to dos. This allows shelling out at all times, with a full
  607.   size dos memory available !! Ie. Full applications can be run; JNOS is
  608.   INACTIVE at this point!. Compile time option is XSPAWN. (MULTITASK is NOT
  609.   available when XSPAWN is used !)
  610.  
  611.   Swapping is to EMS, if available, or to disk. Disk swapping is to the
  612.   current drive. You can set a directory path to try and store the disk image
  613.   with the new command line switch -x. (if you have ems, this isn't usefull)
  614.         eg. nos -xc:\;d:\
  615.  
  616.   From the manual.doc of the xspawn code:
  617.  
  618.         " Each separate path specifier in the _swappath string (separated by a
  619.         ;) can contain a drive, a directory, or both.  If you do not specify
  620.         a drive, XSPAWN will use the current drive.  If the directory is not
  621.         specified, XSPAWN will use the directory that is current on the
  622.         target drive.
  623.  
  624.         You may be wondering why you would ever want to specify multiple
  625.         paths.  To illustrate one use of this feature, let us say your system
  626.         has a ramdrive called D: and a hard drive called C:.  Since writing
  627.         to a ramdrive is many times faster than writing to a hard drive, you
  628.         would naturally prefer to write the swap file to the ramdrive.  The
  629.         problem is that there may not be enough space on the ramdrive to hold
  630.         the swap file.  The _swappath string shown above would cause XSPAWN
  631.         to try the ramdrive first and if there is insufficient space, to try
  632.         the C: drive next.
  633.  
  634.         If a path does not exist, XSPAWN will skip it.  If XSPAWN can't store
  635.         the swap file on any of the specified paths, it will return -1 and
  636.         set errno to EACCES.  "
  637.  
  638.  
  639.   According to the user policy, the complete source for the code is in
  640.   xspawn.zip, inside the jnos107.zip source zipfile... Please read
  641.   license.doc in xspawn.zip for more details.
  642.  
  643. - 'bulletin check' protected against too many forward bbs's (from Jerry, kd4cim)
  644.  
  645.  
  646. 1.06B (921124):
  647.  
  648. - forward bug fixed; netrom forwarding works again
  649.  
  650. - arp display fixed
  651.  
  652. - rip now allows advertizing of route to yourself with the '2' flag
  653.   (ala KarnCode) Eg: rip add 44.26.1.255 600 2
  654.  
  655. 1.06A (921121):
  656.  
  657. - cmdparse fixed to accept both tabs and spaces correctly (debugged from code
  658.   by Mike Gallagher)
  659.  
  660. - twinvec.asm fixed for BC++3.1, dirutil.c for TC2.0
  661.  
  662. - screen sizing is now a command line option: -c# for colums, -r# for rows
  663.   the 'stat' display now shows this, instead of 'info'. 'col' and 'row'
  664.   commands are gone.
  665.   IE. If your screen size is not sensed correctly, use:
  666.   Eg: to run with 43x132 screen: nos -r43 -c132
  667.   (note: this does not SET the video mode; your system has to be in that mode
  668.   already !)
  669.  
  670. - tcp stat bug fixed.
  671.  
  672. VERSION 1.06 (921119)
  673.  
  674. - all commands setting interface flags now TOGGLE! Ie. first time the flag is
  675.   set and the feature turned on, next time it is turned off, ad infinitum :)
  676.   They are:
  677.   convers port                  ax25 bport
  678.   mbox mport                    mbox hide
  679.   ax25 digi                     ax25 hport
  680.   arp eaves                     arp poll
  681.   ip hport
  682.  
  683. - 'tcp access' command added. Good for internet gateways. Defined with
  684.    TCPACCESS switch in config.h
  685.  
  686. - IP heard logging. Turn on per interface with
  687.   'ip hport <iface>'
  688.   For ax.25 interfaces, logs all ip packets heard on the channel.
  689.   For other interface types, logs ip packets that the system routed.
  690.  
  691.   'ip hsize' sets size of table. 0 means no limit!  Default is 8.
  692.  
  693.   Shown with with mailbox 'IH)eard' command, or with
  694.   'ip heard'
  695.   or you can now finger 'iheard' to get the list.
  696.  
  697. - AX25 heard logging needs to be turned ON per interface !!!
  698.   'ax25 hport <iface>' does this. Use 'ax25 filter' still to set
  699.   options for source or destinations. (1=no source address, 2=no dest. address
  700.   3=no logging at all !)
  701.  
  702.   'ax25 hsize' sets maximum number of call in the total list (ie. NOT per
  703.   interface !). 0 means no limit, and is the default !
  704.  
  705. - security hole in mailbox telnet permissions fixed.
  706.  
  707. - screen handling now senses the screen size correctly. Ie. you can use
  708.   80x25,80x43, etc modes. With help from Ron Henderson, WA7TAS
  709.   I tried to assure this works even with vga drivers that
  710.   do not report correct sizes to the gettextmode() call (due to the fact
  711.   that I work on a system that did this faultily :-). It's been tested
  712.   in 80x25,80x28,80x43,80x50,132x50,132x60 modes.
  713.   'info' will show the detected tty size.
  714.  
  715.   On some systems this still doesn't detect the screen size correctly;
  716.   if so, set the number of rows and columns on you screen in the autoexec.nos
  717.   file with 'rows #' and 'columns #' commands (this does NOT work from
  718.   the command line !!!)
  719.  
  720.  
  721. - new arp subcommands:
  722.   'arp eaves [<iface>]'
  723.   Display or set the 'arp eaves drop' functionality per interface.
  724.   If set, all arp replies overheard on the interface will be logged in the
  725.   arp table. This builds a large table on ethernet interfaces, but speeds up
  726.   arp discovery, and might be usefull on radio interfaces.
  727.  
  728.   'arp maxq'
  729.   Display or set the max number of packets waiting for an arp resolution
  730.   to finish. Default is 5 packets.
  731.  
  732.   'arp poll [<iface>]'
  733.   Display or set the 'arp keepalive polling' functionality per interface.
  734.   If set, when an arp entry expires, a query will be sent for the address; this
  735.   keeps the arp table fresh, but possibly retains lots of unneeded entries.
  736.  
  737.   'arp sort y/n', defaults to yes, to sort the arp display.
  738.   (from Doug Crompton, wa3dsp)
  739.  
  740. - Added the PACKETWIN driver, for the Gracilis Packetwin Card.
  741.   To use, define the 'PACKETWIN' option in config.h
  742.   (Disclaimer: I have NOT tested this, but others have used it with my code :-)
  743.  
  744. - Added Doug Crompton's (wa3dsp) mods:
  745.   route sort y/n
  746.   tcp view bytes  - t v b
  747.   tcp view timers - t v t
  748.   icmp trace 0|1|2
  749.   rdate server <ipaddress>
  750.   rdate offset +-n
  751.   'ftp' client commands: ?,help,lcd,ldir, and lmkdir (See w7jmods.txt for more)
  752.   'dir' allows for drive letters.
  753.   'ftp resume/rput' (see wg7jmods.txt)
  754.  
  755. - mbox 'IP' command shows non-private routes only.
  756.  
  757. - morecore failures are only logged to disk when 'mem debug' is on
  758.  
  759. - added nntpserv.c from Doug Crompton, WA3DSP
  760.  
  761. - fixed fifo setup for 16550's
  762.  
  763. - increased stack size for finger and ttylink servers to fix overflow problems
  764.  
  765. - forward connects to unknown netrom nodes now fail.
  766.  
  767. - fixed arp-calls in ax25aar.c
  768.  
  769.  
  770. VERSION 1.05 (921021)
  771.  
  772. - at command allows events to be killed, and rescheduled. From Ron Henderson,
  773.   WA7TAS.
  774.   'at k <#>' to kill event #, where # is the number shown in the 'at' command
  775.   'at [time] command+' to indicate recursion. Ie. after the command has been
  776.   executed, timed execution will be started again.
  777.   EG: at now+0005 dir+   will show a directory listing every 5 minutes
  778.  
  779. - fixed mkname.c for compile with tc2.0
  780.  
  781. - added domain name server fix for CNAME queries, from Don Sandstrom, KG7CP.
  782.  
  783. - new and improved tipmail.c from Milton Miller and Ben Thornton.
  784.  
  785. - asy flow control bug fixed in asytimer() (file i8250.c)
  786.   from Milton Miller and Ben Thornton
  787.  
  788. - made 'Tick' volatile, to avoid problems. From Milton and Ben.
  789.  
  790. - when netrom routes are dropped, either due to obsolesence counter becoming
  791.   zero or by a manual route drop, netrom connections using that route will
  792.   now be be purged if that route was the only route left to the netrom
  793.   destination.
  794.  
  795. - 'netrom connect' and 'netrom split' don't accept unknown node destinations
  796.   anymore.
  797.  
  798. - 'MS' display changed; now has
  799.   Core: 76096                   -> coreleft value in bytes
  800.   Up: 3:19:46:59                -> up 3 days, 19 hours
  801.   Logins: 49                    -> 49 total logins
  802.   Users: 2                      -> currently 2 users
  803.   Count: 19                     -> 19 different users have logged in
  804.   Sent: 43                      -> users sent 36 messages
  805.   Read: 186                     -> users read 186 messages
  806.   Rcvd: 171                     -> got 171 msg forwarded to us
  807.   Fwd: 124                      -> forwarded 124 message to other bbs's
  808.  
  809. - added 'finger database server'; the finger server now will read info
  810.   from the file '/finger/dbase.dat', if there is no '/finger/username' file.
  811.   Ie. if you finger 'johan@wg7j', and the file '/finger/johan' exists,
  812.   it will be sent; if the file '/finger/johan' does NOT exist, the
  813.   '/finger/dbase.dat' file will be scanned (exists.)
  814.   The first line found in this file that starts with the 'username' requested,
  815.   ie here 'johan', will be sent...
  816.   EG: the '/finger/dbase.dat' file can contain:
  817.   johan: WG7J, Corvallis, OR USA, ph.xxx-xxxx. EXTRA CLASS
  818.   ka7ehk is Jim Wagner, in Tangent, OR. Technician license since 1795 :)
  819.   etc...
  820.   NOTE:
  821.   if you have a line starting with 'johannes', a finger to 'johan' will show
  822.   this line if it's the first !
  823.  
  824. - added  'copy <file> <newfile>' command.
  825.  
  826. - added 'timed' support, from Brian K. Teravskis, WD0EFL
  827.  
  828. - fixed buf in send_ax25() and send_nr4(), not freeing buffer if control
  829.   block is invalid.
  830.  
  831. - display flowmode doesn't start until after the autoexec.nos file has been
  832.   executed. Avoids lockups on remote systems.
  833.  
  834. - fixed forwarding with empty subject line in msg; now subject is "none".
  835.  
  836. - fixed '*** done' interpretation in forward.c (looking for -2 instead of 2!)
  837.  
  838. - bbs forwarding now can be 'scripted'. Format of forward.bbs file is expanded:
  839.  
  840.   w0rli                 <- still the bbs to forward to
  841.   ax25 ax0 w0rli        <- still how to forward to
  842.   [ multiples of:
  843.   .send this text
  844.   +continue if this string is received
  845.   @wait_this_long for a reply  ]
  846.   w0rli                 <- the areas to forward...
  847.   pnw
  848.   north
  849.   -----------           <- end of this entry
  850.  
  851.   Valid connect-script lines are:
  852.  
  853.   '.' lines are like before. The text following will be sent over the
  854.         connection.  This line doesn't need to contain text. In that case,
  855.         a <cr> only gets send.
  856.         NOTE: This will also reset the '+'  reply search string to null!
  857.  
  858.   '+' lines set a reply string to search for when a line is being received
  859.         with the @ command.
  860.  
  861.   '@' lines set a timeout in seconds in wich to receive a line over the
  862.         connection. This is the maximum time the system will
  863.         wait for a reply. At this point, an attempt is made to receive a line
  864.         from the connection in the time specified.
  865.         If nothing is received after the timeout time, forwarding for this
  866.         entry is cancelled.
  867.         If something is received, and a search string set with the + command,
  868.         forwarding will be continued only if the search string appears
  869.         somewhere in the line received.
  870.         If the search string was not set, forwarding is continued.
  871.  
  872.         NOTE: if the value after @ can not be converted to a number, the
  873.         default is 90 seconds.
  874.         NOTE: the search string is reset if forwarding continues after the
  875.         @ command.
  876.  
  877.  
  878.    You can have as many of these lines to establish a connection. They need
  879.    not be in any particular order.
  880.  
  881.    CAVEAT:
  882.    Replies from the connection need to be full lines; ie they have to be
  883.    terminated by a proper end-of-line sequence. This means you can not wait
  884.    for the login prompt from a NOS system, since those are NOT terminated
  885.    with a end-of-line sequence. (see the examples)
  886.    You need to know the EXACT reply from systems you connect through.
  887.    Each @ command reads only one line of data from the connection (if
  888.    any, offcourse). This means that if a system replies multiple lines
  889.    after a connection is made, you need multiple @ commands. (see the
  890.    examples below). This makes it hard to connect via systems that can
  891.    have varying replies, like NOS systems that do not have your system
  892.    marked as a BBS, and thus will send welcome messages and varying
  893.    message-of-the-day etc...
  894.  
  895.  
  896. Some examples:
  897.  
  898. 1- a connection via a netrom neigbour:
  899.         w0rli
  900.         ax25 ax0 k7uyx-1        <- initial connection to netrom node
  901.         .c rlimb                <- ask for a netrom connect from this node
  902.         +Connected              <- if we don't get this, things went wrong
  903.         @60                     <- maximum one minute wait !
  904.         w0rli                   <- forward these areas...
  905.         pnw
  906.         allor
  907.         ---------
  908.  
  909. 2- a connection via a JNOS system .
  910.    This assumes that you are marked as a BBS at the JNOS system, so that
  911.    you only get a '[JNOS...] and '>' prompt...
  912.  
  913.         n7dxt
  914.         ax25 iposu              <- initial connection to the JNOS system
  915.         +[JNOS                  <- wait for sign-on message from the JNOS box
  916.         @15                     <- don't wait longer then 15 seconds
  917.         +>                      <- wait for the prompt
  918.         @15                     <- wait 15 seconds at the most
  919.         .c ax0 n7dxt            <- next, request a gateway connect
  920.         +Trying                 <- NOS replies it's trying...
  921.         @15                     <- wait 15 secs max.
  922.         +Connected              <- wait for 'IPOSU:WG7J-3} Connected to N7DXT'
  923.         @60                     <- wait 60 secs max
  924.         n7dxt                   <- send these following areas
  925.         pnw
  926.         allor
  927.         ----------
  928.  
  929. 3- A connection to a JNOS system, and from there a telnet to a remote bbs
  930.    (again, assumes your system is marked as a bbs !)
  931.  
  932.         wg7j
  933.         ax25 con iposu          <- initial connection to JNOS
  934.         +[JNOS                  <- sign-on from JNOS
  935.         @15                     <- shouldn't take too long
  936.         +>                      <- next is the prompt
  937.         @15                     <- not too long either
  938.         .t wg7j.ampr.org.       <- ask for a telnet connect
  939.         +Trying                 <- JNOS is trying
  940.         @15                     <- should come pretty soon
  941.         +connected              <- wait for '*** connected to xxx'
  942.         @45                     <- might take a while
  943.         @30                     <- wait for another (blank) line
  944.         +NOS                    <- now come the telnet sign-on message
  945.         @30                     <- wait for this
  946.         @30                     <- after this is a blank line, wait for it
  947.         .w0rli                  <- now we get 'login:' and "Password:" prompts,
  948.         .whomever               <- but they have no <cr>'s, so just answer
  949.         sysop                   <- we're there, forward these areas.
  950.         allor
  951.         wg7j
  952.         pnw
  953.         nos
  954.         ------
  955.  
  956. - '/sounds y|n' in convers added. This turns the bells on or off.
  957.   Ie. if you don't want the bell if new users log on, do a '/s n' after
  958.   you logon.
  959.  
  960. -'mbox hideport [<iface>]'
  961.  Set or show the 'hide' flags on interfaces. If this flag is set, the mailbox
  962.  'P' command will not list this interface for ax.25 connection, unless the user
  963.  has sysop priviledges.  AX.25 gateway connections are also dis-allowed,
  964.  unless the user has sysop privs. (This is good for stuff like forward-only
  965.  ports, etc...)
  966.  
  967. - fixed scanning of the '/p' command in convers server.
  968.  
  969. - smtp server accepts messages to areas with sub-directories.
  970.  Eg. you can now receive mail for rec.radio.packet, or
  971.  test/toys, or rec\ham
  972.  These messages will be placed in the right subdirectory under /spool/mail.
  973.  CAVEAT: the subdirectory HAS TO EXIST when the mail is received!! It
  974.  is not created.!!!
  975.  (Ie. int the above, /spool/mail/rec/radio, /spool/mail/test have to exist!)
  976.  
  977. - mailbox keeps track of new mail in areas since user last logged out.
  978.  If 'mbox newmail on', user will get notified on login wich areas have
  979.  new mail. New mbox 'AN' command gives the same information.
  980.  (default is on)
  981.  
  982. - the interface flag field, as shown in the 'ifconfig' command,
  983.   has more use. It's bits have the following meanings:
  984. #define CONNECT_MODE    1   /* Send datagrams in connected mode */
  985. #define IS_NR_IFACE     2   /* Activated for NET/ROM */
  986. #define NR_VERBOSE      4   /* NET/ROM broadcast is verbose */
  987. #define IS_CONV_IFACE   8   /* Activated for conference call access */
  988. #define AX25_BEACON     16  /* Send AX.25 beacons */
  989. #define MAIL_BEACON     32  /* Send MAIL beacons */
  990. #define HIDE_PORT       64  /* Don't show port in mbox P command */
  991. #define AX25_DIGI       128 /* Allow digipeating */
  992.  
  993. - convers configuration is now done with commands, and not the convers.cfg
  994.   file any more. New 'convers' command has subcommands :
  995.  
  996.   allow [ipaddres|hostname]
  997.         - if set, only hosts in this list will be allowed to link to us
  998.           This does NOT effect regular users.
  999.           Host to allow can be set with multiple 'convers allow' commands
  1000.           Typing 'convers allow' shows the hosts to allow.
  1001.  
  1002.   hostname [name]
  1003.         - set or show the convers host name as announced to users and
  1004.           across links. 10 chars max. When the 'hostname' command is
  1005.           executed, the 'convers hostname' is automatically set to the
  1006.           10 first chars of it, and if '.' are found from the right,
  1007.           they terminate the string.
  1008.  
  1009.   interface [<iface>]
  1010.         - activate interface <iface> for ax.25 convers call connections.
  1011.          with no argument will show active interfaces.
  1012.  
  1013.   mycall [call]
  1014.         - set or show the ax.25 convers call.
  1015.  
  1016.   link  [<hostname|ip-address>] [linkname]
  1017.         - add a convers link to the system at hostname or ip-address.
  1018.           linkname is optional, and sets the name of the link.
  1019.           (It will be replaces once the remote systems announces it's
  1020.           true name...)
  1021.  
  1022.   t4 <seconds>
  1023.         - set or show the ax.25 t4 timeout value for conference call
  1024.           connections. Default is 7200, ie 2 hours.
  1025.  
  1026. - user permission bit to disallow convers access from mailbox or
  1027.   from convers call.
  1028.   #define NO_CONVERS 32768
  1029.   If set, user will not be allowed to give the 'C' command, or connect
  1030.   to the convers call.
  1031.  
  1032. - fixed double <cr> bug in convers personal data across links. Also fixed
  1033.   month display in links-listing.
  1034.  
  1035. - 'netrom verbose' is gone. 'netrom interface' now defaults to none-verbose
  1036.   and the additional 'v' makes it verbose. EG:
  1037.   netrom interface ax0 192      -> non-verbose broadcasting
  1038.   netrom interface ax0 192 v    -> verbose broadcasting
  1039.  
  1040. - 'ax25 confcall' and 'ax25 ct4' are gone. See above.
  1041.  
  1042. - 'ax25 digipeat [<iface>]' now shows or sets digipeating per interface.
  1043.   All interfaces default to no digipeating when first attached !
  1044.  
  1045. - new 'ax25 bcport [<iface>]' command. Sets or displays the ports that
  1046.   ax.25 beacons are sent out on. You need one for each interface you want
  1047.   to beacon on. Eg:
  1048.   ax25 bcport ax1
  1049.   ax25 bcport vhf
  1050.   (beacon interval and text are still set with 'ax25 bcinterval' and
  1051.    'ax25 bctext')
  1052.  
  1053. - new 'mbox mport [<iface>]' command. Sets or displays the ports that
  1054.   'Mail for:' beacons go out on. You need one for each interface you want the
  1055.   mail-beacon to be sent out. Eg:
  1056.   mbox mport ax1
  1057.   mbox mport vhf
  1058.  
  1059. - new 'mbox sendquery'. If set, the mailbox will send a query to ask users
  1060.   if they really want to send the mail after they've type the /ex
  1061.   A 'N' or 'n' response will abort the message at that point. The user will
  1062.   be notified the message was aborted by a 'Mgs aborted' message.
  1063.   (default is on)
  1064.  
  1065. - forwarding is now a server-process. Start with 'start forward'.
  1066.   Timer is still set with mbox timer command.
  1067.   (this and a few other things from Milton Miller, kb5tkf and
  1068.    Ben Thornton, wd5hls)
  1069.  
  1070. - fixed bug in forward.c that would forward with Mycall as the node call,
  1071.   instead of the netrom call. Caused problems if Mycall != Netromcall
  1072.   (with help from Milton Miller)
  1073.  
  1074. - AX.25 Paclen can now be set on a per-interface basis.
  1075.   'ifconfig <iface> paclen <num>' will do the trick.
  1076.   (this is good for HF, where you want a small paclen !)
  1077.   Default is the 'ax25 paclen' value (ie. 256)
  1078.  
  1079.   NOTE: If the interface is activated for NETROM, setting this will also
  1080.   effect the 'netrom mtu' value. It will be set to (smallest paclen) - 20.
  1081.   If this is > 236, the netrom mtu will be 236 (the protocol maximum!).
  1082.   Eg: if you have a HF port with paclen of 64 and active with netrom,
  1083.   and another VHF port active with netrom and with paclenof 256, then
  1084.   netrom mtu is 44 and 'ifconfig netrom' will show this !
  1085.   You can override this automatic assignment with 'ifc netrom mtu <num>',
  1086.   but BE AWARE of fragmentation problems that will occur if you run this
  1087.   over an interface with a smaller paclen then netrom-mtu + 20 !!!
  1088.   (You get ax.25 V2.1 fragmentation, and Thenet, BPQ. MSYS etc can NOT handle
  1089.    this! NOS and it's derivatives are the only one that can handle this !!!! )
  1090.  
  1091. - Setting the netrom mtu now also works for netrom data! (it was originally
  1092.   intended for IP over NETROM use; however, both user data and IP packets are
  1093.   just data for the netrom protocol, so who cares :) Previously, everything
  1094.   pertaining to NR4 data was hardcoded to 236 bytes max, and would result in
  1095.   AX25 V2.1 fragmentation if paclen < 256, NO MATTER what.
  1096.   In NR4.C, send_nr4() now chops packets larger then netrom mtu into
  1097.   multiple smaller ones, thus preventing ax.25 V2.1 fragmantation.
  1098.   (see also 'ifconfig iface paclen' above !)
  1099.  
  1100. - AX.25 connection calls are now on a per-interface basis. Ie. you can have
  1101.   the same two calls with connection on two different interfaces:
  1102.   wg7j-3  <->  ka7ehk  on ax0 , and  wg7j-3  <-> ka7ehk  on ax1 now works.
  1103.  
  1104. - 16550 fifo trigger level can be set from attach command. Valid values are
  1105.   1,4,8 or 14. If you use this, the 'f' option is now mandatory !
  1106.   Add the trigger level following the 'f' or as an additional argument. EG:
  1107.   'attach asy 3f8 4 ax25 ax0 1024 256 9600 f8' or
  1108.   'attach asy 3f8 4 ax25 ax0 1024 256 9600 f 8'
  1109.  
  1110. - bbs forward loop detection added. Ie. when you receive a message that you've
  1111.   forwarded already, there is a forward loop. New 'bulletin loophold' command
  1112.   shows or sets the number of loops after wich to hold a message. 0 disables
  1113.   it, and is the default. Eg. 'bul loop 2' will hold any message that has 2 of
  1114.   your R: headers in the message when it is received. Loop-held messages get
  1115.   an additional header, 'X-BBS-Hold: Loop'.
  1116.   Currently, the sysop is NOT notified of the held message. However, they show
  1117.   up with the common 'H' as the type of the message in the List display.
  1118.   Messages marked 'H' can only be read by users with sysop priviledges, wether
  1119.   that message is in a user's private mail area or not. (This is jumping ahead
  1120.   of possible message contents scanning and holding)
  1121.  
  1122. - stktrace() from the new KA9Q sources added. This is currently only used
  1123.   for invalid free() calls. For each invalid free, it will show a trace of
  1124.   where the call came from. This should facilitate debugging.
  1125.   The 'test' command demonstrates it. Output is in the file stktrace.out.
  1126.   -> You need to have the map-file (nos.map) in the current directory !
  1127.   If you have invalid frees showing in the 'mem stat' command, and you have
  1128.   stktrace.out output, please send me a copy of that file. That will allow
  1129.   me to try and figure out what happened.
  1130.  
  1131. - netrom default round-trip-time increased to 45 seconds.
  1132.   (15 seconds is pretty unrealistic for a loaded 1200bd network :-)
  1133.  
  1134. - minor delinting and convers bug fix by Mike Gallaher, wa3hee
  1135.  
  1136. - incoming ttylinks do not create a session if system is unattended
  1137.  
  1138. - smtp server checks Message-Id's for possible duplicate BID's
  1139.   If found, message is accepted, but not delivered.
  1140.  
  1141. - mailbox disconnects on any '***' command, except '*** linked to' (bug fix)
  1142.   '*** linked to' should now work with any format, including texnet.
  1143.  
  1144. - conference connection sockets are put into no-block mode, this solves
  1145.   the data backlog problem that bogs the system down.
  1146.   (it will still fill up the tx buffer (even beyond the window size),
  1147.   but the send_mbuf() call will not block anymore).
  1148.  
  1149. - fixed conference access via mailbox inactivity timeout problem.
  1150.   Same with mailbox 'D', and 'W' commands.
  1151.  
  1152. - All tcp connections allow verbose ip ports. Currently allowed are
  1153.   "convers","telnet", and "ttylink". This is case sensitive, but you don't
  1154.   need the whole name. First lettter (for convers and telnet), or first
  1155.   two (ie. tt for the ttylink port) is enough.
  1156.   Eg. to telnet to the conference server with a split screen, do
  1157.   "ttylink <hostname> convers" (this is the same as "ttylink <hostname> 3600").
  1158.   This also work from the mailbox: 'T wg7j.ampr.org. convers'
  1159.  
  1160. - added split screen options for ax.25 and netrom connects (if compiled in)
  1161.   New command "split <iface> <call>" is same as "connect", but with S.S.
  1162.   New command "netrom split <node>" is same as "netrom connect" but with S.S.
  1163.   (Remember: you can do S.S. telnet's with the 'ttylink' command, by adding
  1164.    the telnet port number! (see also above))
  1165.  
  1166. - ax25 route commands now takes interface. This allows different digi paths
  1167.   per interface ! Eg. MAIL beaconing:
  1168.   if you want to digi via different nodes on different interfaces...
  1169.   'ax25 route add mail ax0 kf7dq-1'
  1170.   'ax25 route add mail ax1 wg7j-3'
  1171.  
  1172. - arp add/drop/publish now take interface.
  1173.   'arp add wg7j.ampr.org. ax25 wg7j-3 ax0'
  1174.   'arp drop 44.26.0.162 ax25 ax2'
  1175.   'arp publish gw.wg7j.ampr.org. ax25 wg7j-2 ax1'
  1176.  
  1177. - timer process is modified, fixes some timing with PI, SCC and other things.
  1178.  
  1179. - mailbox accepts and handles <del> chars (0x08) (from wa7tas).
  1180.  
  1181. - mailbox areas with more then maxmsg messages now allow reading of first
  1182.   maxmsg messages.
  1183.  
  1184. - fingers to the system now show the 'last connected' info for the requeste
  1185.   user, if exists. After this, the finger file (if exists) will be shown,
  1186.   as usual.
  1187.  
  1188. - remote sysop 'dir' and 'more' commands work, but without more-prompting.
  1189.  
  1190. - 'netrom hidden [on|off]' enables or disables showing of hidden nodes in
  1191.   the N display
  1192.  
  1193. - 'netrom interface' allows changing parameters for already active interfaces
  1194.  
  1195. - Tracing on AXIP interfaces now also works on receive (ie. input)
  1196.  
  1197. - fixed command line expression passing in .asm files for BC++3.1
  1198.  
  1199. - new mkname.c and other stuff for BC++3.1 from n1bee.
  1200.  
  1201. - nr4 ack bug, kiss-ioctl bug fixes per n1bee.
  1202.  
  1203. - netrom bcpoll <ifname>, will poll other systems running jnos1.05(or later)
  1204.   or dataengine's running jnos40 to send a routes broadcast. Speeds up route
  1205.   discovery...
  1206.   Eg. add this to the autoexec file for each activated netrom interface.
  1207.   This was primarily written for the DataEngine code, that doesn't have the
  1208.   'netrom load' from disk capability.
  1209.  
  1210. - tcp retries 0, resets to original KA9Q behaviour, ie no retry max.
  1211.  
  1212.  
  1213. VERSION 1.04 (920805)
  1214.  
  1215. - at command now takes minutes only too; format 'at mm <cmd>'
  1216.  
  1217. - format of /convers.cfg has changed:
  1218.   localname             -> still the local convers name
  1219.   name moot hostname
  1220.   name2 moot hostname2
  1221.   etc.
  1222.   where 'name' and 'name2' are the names of the convers links to put in.
  1223.   'moot' can be anything, but needs to be there for compatibility reasons
  1224.   (previously it had to be 'telnet' but that is the only thing accepted and
  1225.    is now hard coded (saved code))
  1226.   'hostname' is optional, and if defined, it is the hostname that will be used
  1227.   first to resolve the ip address of the host to link to. If 'hostname' can
  1228.   not be resolved, then 'name' will be used as previously.
  1229.   Eg:
  1230.   Corvallis whatever jnos.wg7j.ampr.org.
  1231.   This will try to link to jnos.wg7j.ampr.org. first, if that isn't a valid
  1232.   address, then it will try to link to 'Corvallis'
  1233.  
  1234. - added convers '/personal' command to show some info. Up to 30 chars will
  1235.   be shown in the users display (/w command).  This info also travels across
  1236.   links to compatible servers (ie servers running jnos1.04 or later).
  1237.   eg '/p Johan in Corvallis, OR'
  1238.  
  1239. - convers hostname can be 10 chars now (instead of 8 previously).
  1240.   Be carefull if you link with other server running older, noncompatible
  1241.   code; it is wize to keep it down to 8 chars in that case...
  1242.  
  1243. - added convers loop detection code, from dl9sau
  1244.  
  1245. - bug in convers code that didn't free the socket of a failed link
  1246.   attempt is fixed.
  1247.  
  1248. - separate ax.25 conference call added, with separate t4 timer.
  1249.   If set, connections to this call dump the user directly into the
  1250.   conference bridge. New 'ax25 confcall' and 'ax25 ct4' commands.
  1251.  
  1252. - new commands 'write' and 'writeall' to send message to users.
  1253.   'write' takes either socket # or mailbox username, and message
  1254.   and 'writeall' takes message and sends it to all mailbox users
  1255.   Eg: 'write 131 test'  'write wg7j "testing messages"' or
  1256.   'writeall test'  'writeall "testing messages"'
  1257.  
  1258. - socket display (eg. 'so 131') now shows socket creation time
  1259.  
  1260. - Added tcp retry timeout from iw0cnb. New 'tcp retries' command.
  1261.   Will reset tcp connections after too many retries.
  1262.  
  1263. - commented out some non-used code in the socket interface (AX25_UI sockets)
  1264.   (saves 1.5k :-) )
  1265.  
  1266. - New mailbox rewrite rule:
  1267.   mail rewritten to 'refuse' is refused from the mailbox with a 'NO' or
  1268.   'Bad host' reply.
  1269.  
  1270. - Upped the maximum number of netrom and axip interfaces to 16
  1271.  
  1272. - 'netrom interface' shows active netrom interfaces
  1273.   (verbose flags: v - yes, n - no, and f - according the verbose setting)
  1274.  
  1275. - tcp connect requests (Syncs) are refused if low memory, and
  1276.   socket() call will fail if memory low.
  1277.  
  1278. - AX.25 source call logging now correctly logs outgoing call, instead
  1279.   of interface call. (ie. gateway users will show up in list!)
  1280.  
  1281. - conference bridge access from mailbox is not via telnet connection
  1282.   anymore, but direct. Is faster and saves 2 sockets, 1 process and
  1283.   lots of system overhead. Convers.c has been cleaned up a bit too.
  1284.  
  1285. - added check in telnet login procedure for valid (Dos-filename) login name
  1286.  
  1287. - all memory address displays have dropped the '0008'. All commands involving
  1288.   memory  addresses do not accept the '0008' anymore.
  1289.  
  1290.  
  1291. VERSION 1.03 (920701)
  1292.  
  1293. - 'mbox tmsg' command. Shows or sets the 'telnet msg', that is
  1294.   shown to incoming telnet users before the login: prompt
  1295.   eg. mbox tmsg "Please use your call to login. Thank you"
  1296.  
  1297. - Domain Name Server code added. Start with 'domain startdns'
  1298.   Does not support multiple queries per frame, does not support
  1299.   authority and additional rr's in the reply.
  1300.   Always gives non-authoritative replies.  Has been tested to
  1301.   work with A,CNAME,MX,PTR,HINFO,SOA,NS queries. If other remote servers
  1302.   have been configured, if needed they will be used to resolve queries.
  1303.  
  1304. - 'netrom interface' changed:
  1305.   syntax is now 'netrom interface ifname ### [n|v]'
  1306.   where ifname is the interface name to attach
  1307.   ### is the route quality, 0-255
  1308.   and 'n' or 'v' is optional overriding of the verbose setting.
  1309.   If 'n' is given, the route broadcasts on the interface are none-verbose
  1310.   if 'v' is given, they are verbose.
  1311.   These 2 override the verbose flag !! Ie. if verbose is off, but the
  1312.   interface flag is verbose, all routes are broadcast.
  1313.   If no option is given, the verbose flag is used...
  1314.  
  1315.   This allows verbose broadcasts on axip interfaces, but keeps all the remote
  1316.   nodes off the local lan by disabling verbose broadcasts on that interface.
  1317.  
  1318. - users don't need telnet-permissions anymore for C,CA, and O
  1319.  
  1320. - KU will undelete messages marked for deletion
  1321.  
  1322. - 'L<' searches the 'From:' field
  1323.  
  1324. - a finger to 'conf' will show the conference bridge users (if configured)
  1325.  
  1326. VERSION 1.02 (920615)
  1327.  
  1328. - bugfix for recording of telnet session by Ron, vk6zjm added
  1329.  
  1330. - POP2 and POP3 from was0206 and gri-2.0j was added.
  1331.  
  1332. - userlogging works now also for any mailbox starting with "sys",
  1333.   even if not an area; this allows sysops to read sysop-mail from
  1334.   private areas, and have the system keep track of last read msg.
  1335.  
  1336. - the mailbox 'A' command will show the area names only, NOT
  1337.   the descriptions. To show descriptions, type AF
  1338.   Comments in /spool/areas now NEED TO START with a '#' char...
  1339.   and are only shown in the AF form of the command
  1340.  
  1341. - code to restore 16550 fifo status added (from Bill Simpson)
  1342.  
  1343. - ftp message of the day, modified from Max (iw0cnb).
  1344.   Set/show with 'fmotd' command
  1345.  
  1346. - mailbox (L)ist display has been changed a bit to show the To: field
  1347.   of messages.
  1348.  
  1349. - new mailbox 'L>' command allows searches in the To: field of messages
  1350.   (NOT case sensitive!)
  1351.   eg: 'L> test' will show messages with To: fields of:
  1352.   test@allusa, TEST@somewhere, all@testing.usa, ...
  1353.  
  1354. - expanded mailbox 'ML' command :
  1355.   'ML'       -  lists all past logins since startup
  1356.   'ML n'     -  lists last n logins since startup
  1357.   'ML call'  -  gives last login date/time for call
  1358.  
  1359. - new mailbox 'Move Message' command for sysops:
  1360.   'MM name' moves the current message to mailbox file 'name'
  1361.   'MM n[...] name' moves message n to mailobx file 'name'
  1362.   eg:
  1363.   MM 1 3 4 newarea
  1364.   (Moves messages are deleted in current mailbox file)
  1365.  
  1366. - 'New mail' messages only print to the command screen
  1367.  
  1368. - userlog code now also works during 'R' command
  1369.  
  1370. - mailbox 'SR' doesn't generate a Cc: to the original message To: addressee
  1371.  
  1372. - user default logging added; keeps track of last time logged-in/out,
  1373.   state of XM,XA and XN commands, and how last connection was made.
  1374.   gets read at login and restores values that existed at last logoff.
  1375.  
  1376. - in mailbox send, the rewrite result 'To:' is only shown to sysops
  1377.  
  1378. - new command XN to toggle the netrom id prompt.
  1379.  
  1380. - deleted the masking of chars with 0x7f, to allow international
  1381.   character sets to pass correctly (in ttydriv.c and telnet.c)
  1382.  
  1383. - disallow attaching of axip interfaces with names longer then 6 chars
  1384.   This is needed for the gateway code to work correctly (inherent to the
  1385.   socket internals)
  1386.  
  1387. - fixed bug in the Bye command that would reset the last read message
  1388.   to 0, if nothing was Listed in the last area
  1389.  
  1390. - netrom inactivity timeout disconnection was not working properly in 1.01
  1391.   (wrong timer configured). This is now fixed...
  1392.  
  1393. - refusing of new connections when memory is low is now done
  1394.   in the protocol modules for netrom (nr4.c) and AX.25 (lapb.c)
  1395.  
  1396. - when a nodes-broadcast from a previously unknown netrom
  1397.   neighbour is heard, the system send a nodes broadcast too.
  1398.  
  1399. - new mailbox 'XA' command; toggles showing of the current area
  1400.   with the mailbox prompt. Defaults to on.
  1401.  
  1402. - fixed bug that prevented areas in subdirectories from being accessed
  1403.   (in mlock() and rmlock() functions). This affected systems using nntp
  1404.  
  1405. - modified the nntp client in nntpcli.c to be compatible with my userlog code
  1406.   (added a "Received:" line to articles)
  1407.  
  1408. - message expiry code can now handle both the 'mailbox' style
  1409.   (ie. "Tue, 14 Apr 92 15:11:07") and the 'nntp' style date
  1410.   line (ie. "14 Apr 92 15:11:07").
  1411.   (so it *should* now work with the nntp client; still NOT tested though!)
  1412.  
  1413. - mailbox forwarding: anything that came in with a bid goes out with a bid.
  1414.   Thus now 'SP sysop@blah $bid' goes out with $bid unlike before.
  1415.  
  1416. - when 'bulletin date' is on, "Date: " now only shows the date,
  1417.   no more the  "BBS, ".
  1418.  
  1419. - added st_garbage() fix in sockutil.c
  1420.  
  1421.  
  1422. VERSION 1.01 (920408)
  1423. ************
  1424.  
  1425. - any user can delete messages in any area that starts with "nts".
  1426.   Thus users can delete nts traffic, without having to give them
  1427.   permission to delete everything.
  1428.   Eg: I rewrite all nts stuff i can deliver to the area 'ntslocal'
  1429.   User's can now delete these messages after delivery.
  1430.   All other traffic (ie. not for my area) i rewrite to 'nts' to
  1431.   be forwarded elsewhere. However, 'nts' is NOT an area, so regular
  1432.   users can't touch it (You could also use 'traffic' or whatever
  1433.   else suits you...)
  1434.  
  1435. - plain 'netrom route info' gives info for all routes
  1436.   mailbox 'N *' does the same; from Doug Crompton.
  1437.  
  1438. - telnet login's get 3 tries max to be validated; ctrl-d as the first
  1439.   char will exit the login-procedure.
  1440.  
  1441. - support for the BuckMaster CDRom ham-call database has been added;
  1442.   it compiles just fine, but this has NOT been tested !!
  1443.   (check the compile switches in config.h; not in the standard
  1444.   distribution)
  1445.   The commands for this are 'callbook','callserver2','cdrom',
  1446.   'start callbook' and 'stop callbook'
  1447.   This code comes from KB7YW, taken out of SS_NOS sourcecode,
  1448.   and is provided as is...
  1449.  
  1450. - fixed memory leak with mailbox finger, and overwrite problem
  1451.   with the 'whereto' variable.
  1452.  
  1453. - mkname.c now works with tc2.0, bc2.0 and bc3.0, from Ron Henderson, wa7tas
  1454.  
  1455. - smtp lzw is a more robust; from pa0gri 2.0f
  1456.  
  1457. - tipmail.c timer problem fixed; from ke9yq
  1458.  
  1459. - Function key session switching ! (modified a bit from WNOS3 sources)
  1460.   If the function keys F1-F8 are not defined, they will switch you to
  1461.   the session of that number; eg F3 will switch to session 3 !
  1462.  
  1463. - tracing to a session. Function key F-9, if not re-defined with an fkey
  1464.   command, switches to it from any other session. (it actually toggles;
  1465.   ie you can switch between trace and current session by pressing F9)
  1466.   Session tracing defaults to on.
  1467.   Trace output is only printed in this session when it is the active one.
  1468.   Tracing to file currently disables output to the session.
  1469.   Tracing can be set to go to the command screen with 'strace off' command.
  1470.   (Sometimes you want to see what's going on while you're typing some
  1471.   commands at the console)
  1472.  
  1473.   To save memory (about 4 kb.) session tracing can be disabled with a
  1474.   commandline option. Invoking nos with '-n' will not setup tracing
  1475.   to session, but always trace to the command window.
  1476.   (the 'strace' command is disabled aswell)
  1477.   (eg 'nos -n -s40' will give 40 socket and tracing to the command window)
  1478.  
  1479. - the bid's in history file now have a timestamp with them to allow
  1480.   for automatic expiry. Format is "%s %ld\n", where %s is the bidstring,
  1481.   and %ld is the number of seconds since 1970 (ie. standard time long-integer)
  1482.  
  1483. - BID and MESSAGE expiry built in.
  1484.   command 'oldbids <timer> [age]' or 'oldbids now'
  1485.     <timer> is in hours and sets the interval that the bid file ('history')
  1486.     will be scanned for old ones to delete. Old file is renamed to
  1487.     'history.bak' and a new one created. This will also transform old style
  1488.     bid's (without timestamp) to new style with timestamp.
  1489.     [age] is the optional age in days, and defaults to 30 days.
  1490.     'oldbids' will show current values, 'oldbids now' will expire old bids
  1491.     immediately, with previously set age value (or default if not set)
  1492.  
  1493.   command 'expire <timer>' or 'expire now'
  1494.     <timer> again is in hours, to set the interval to check for expired
  1495.     messages. The expiration in controlled by the file '/spool/expire.dat'
  1496.     This file is a list of fields like
  1497.     area age
  1498.     where area is the area-name WITHOUT the '.txt' extension. Area CAN
  1499.     have subdirs denoted by either '.', '/' or '\' . Thus is *should*
  1500.     work with NNTP articles as well (see note 2). Age is the age in
  1501.     days of the message. If age is omitted, default is 21 days
  1502.     Area and age are separated by one space character !
  1503.     On expiry, any area.txt file is renamed to area.bak, and then all
  1504.     messages are checked for their age. Age comes from the 'Date: ' header.
  1505.     Thus with the 'bulletin date yes' command, BBS style messages can
  1506.     be properly expired.
  1507.     Some valid formats of the '/spool/expire.dat' file:
  1508.  
  1509.     #This is a comment
  1510.     #expire the allusa bulletins after 7 days
  1511.     allusa 7
  1512.     #assume the default for allor (ie 21)
  1513.     allor
  1514.     rec.radio/amateur\packet 10
  1515.  
  1516.     NOTE 1: the use of the mktime() function in the age calculations
  1517.     now forces the use of BCC instead of TCC. There is a sort-of working
  1518.     replacement of mktime() in expire.c for those that want to keep using
  1519.     tcc
  1520.  
  1521.     NOTE 2: I have tested the subdir expiration with mail files; NOT with
  1522.     NNTP originated messages. If this doesn't work, please let me know !
  1523.  
  1524. - mbox mailfor exclude. You can set a list of private mail areas to exclude
  1525.   from the mail-beacon. Same syntax as 'mb jumpstart exclude'.
  1526.   (mailfor code has been rewritten to be more efficient, less hd access)
  1527.  
  1528. - a user does NOT need TELNET_CMD permissions anymore to do the 'CALL'
  1529.   command. This is so that we can disallow telnet's and still allow
  1530.   connections to the call-server.
  1531.  
  1532. - included the latest PI driver in the sources (dated 920329)
  1533.  
  1534. - mailbox.c is now split into mailbox.c and mboxcmd.c
  1535.  
  1536. - mailbox subcommand 'mbox tdisc' sets the inactivity timeout value.
  1537.   If not zero, if mailbox user has not given any input for the timeout
  1538.   period, the mailbox connection is closed. This prevents idle users.
  1539.   Default is 0 seconds, ie off.
  1540.   (can be compiled out with MBXTDISC switch in config.h)
  1541.  
  1542. - ftp server inactivity timeout. Command 'ftptdisc'. Again, if not zero
  1543.   ftp connection will be closed after no data has flown for the timeout
  1544.   period. Defaults to 0 seconds, ie. off.
  1545.   This gets deactivated during file transfers in either direction;
  1546.   this is to avoid looong slooow transfers to cause a timeout.
  1547.   (can be compiled out with FTPTDISC switch in config.h)
  1548.  
  1549. - netrom subcommand 'netrom tdisc'. Sets a timer similar to the 'ax25 t4'
  1550.   timer. If there has been no incoming data over a level 4 circuit for the
  1551.   timeout period, the circuit is reset.
  1552.   Default is 0 seconds, ie. no timeout.
  1553.   This is usefull with idle forward sessions etc.
  1554.   (can be compiled out with NR4TDISC switch in config.h)
  1555.  
  1556. - mailbox 'SR' command works again (sending replies...)
  1557.  
  1558. - 'LL' command was broke since addition of 'LA'. Fixed again.
  1559.  
  1560. - mailbox 'RH' command, to read with all headers (same as 'V')
  1561.  
  1562. - R: header interpretation now allows both '@:bbs' and '@bbs' format
  1563.   as well as '?:bbs' and '?bbs' (for aplink etc.)
  1564.  
  1565. - mailbox 'SC' command to send one message to multiple people
  1566.   'Send Carboncopy'; it asks for a list of Cc:-addresses. A user can
  1567.   answer with one or more addresses, separated by comma's
  1568.   eg: 'Cc: johan@ece.orst.edu, ka7ehk@wg7j.ampr.org,test@nowhere.usa'
  1569.  
  1570. - mailbox 'XM n' to show or set (XM n) the number of lines for
  1571.   more-prompting. Telnet default is 23, others 0 (same as previously)
  1572.   MORE now works for ALL connection types, instead of only for telnets.
  1573.   MORE also works with all the 'L' commands (as well as R/V commands)
  1574.   (this is NOT logged(yet), so at each login, the defaults are set)
  1575.  
  1576. - smtp bactch processing fixed ala VK6RJM
  1577.  
  1578. - 'info' command now shows compile date/time.
  1579.  
  1580.  
  1581. VERSION 1.00 (920318)
  1582. ************
  1583.  
  1584. - New commands 'bulletin <check|date|return>'
  1585.   (Can be compiled out by undefining 'MAILFOR' in config.h)
  1586.  
  1587.   'bulletin date on/off' (DEFAULT: OFF)
  1588.   if on, the original message date from the last R: line will be
  1589.   used in the message 'Date:' line. Off acts as plain ka9q code.
  1590.   This allows a more correctly indication of the age of the message
  1591.   and improves automatic expiry of messages
  1592.   (with the 'at hhmm "shell expire..." ' command !)
  1593.   (NOTE: due to the lack of the mktime() routine in the TC2.0 libraries,
  1594.    the weekday field in the ARPA-date header is set to "BBS"; as soon
  1595.    as i get around rewriting that routine (it is in BC2.0 and above)
  1596.    that will be fixed. This causes no grief :-), just shows something like
  1597.    'Date: BBS, 12 Mar 92 11:21:00 UTC'
  1598.    the presence and length of this field are imperative, since at several
  1599.    places the string is scanned for the ',' (smtp) or the lenght (forward) )
  1600.  
  1601.   'bulletin return on/off' (DEFAULT: OFF)
  1602.   if set, when a message is received via bbs-forwarding
  1603.   a 'valid bbs-style return address' will be taken from the
  1604.   last R:-line, if one is present. This works with any message
  1605.   type that starts with R:-headers (so personal mail as well).
  1606.  
  1607.   the 'true from-address' is made as 'user@last-R:line-bbs'
  1608.   ie. the from-address is set to come from the user, as send
  1609.      with the 'S bla@blah < USER' line, and the 'home' bbs will
  1610.      be extracted from the last R: line found
  1611.      This allows a correct 'from' the be shown, and allows
  1612.      the SR (Send Reply) to work normal, however....
  1613.      eg. If the message is forwarded as 'SP W7ABC < W6XYZ'
  1614.      and the last R:-header is
  1615.      R:920312/1200z @:N7PQR.AB.CD.EF [TEST] #:0 Z:1
  1616.      then the 'From:' line will read:
  1617.      'From: w6xyz@n7pqr.ab.cd.ef'
  1618.  
  1619.      NOTE !!!!
  1620.      Since in most of these occasions, the from-hosts will NOT
  1621.      be tcp/ip hostnames (eg. wg7j.ampr.org) but rather
  1622.      bbs H-addresses (eg. WG7J.OR.USA.NA)
  1623.      YOU (ie. the sysop) HAVE TO MAKE SURE your system can handle
  1624.      these new addresses by setting up the ALIAS and REWRITE files
  1625.      to handle these, and then setup bbs-forwarding (if needed)
  1626.      as well with FORWARD.BBS
  1627.  
  1628.   'bulletin check on/off'
  1629.   When turned on, the forward.bbs file is scanned to build a list
  1630.   of bbs's we forward to. If on, 'bulletin check' will give this list.
  1631.   When a bbs connects, each time a bulletin or any message send with BID
  1632.   is forwarded the R: trail (if present) will be read for comparison
  1633.   to the list. If an R: line from a BBS we forward to is found,
  1634.   an 'X-Forwarded-To' header is added to the smtp headers of the messages.
  1635.   (They are written as the very first thing, to speed up the scanning
  1636.    of the headers during forwarding...)
  1637.   This 'X-Forwarded-To' header is lateron used by the
  1638.   forward code to realize that those bbs-es already have the
  1639.   message, and we don't have to try to send it,
  1640.   only to get a 'NO' reply. Thus not as much time and network
  1641.   bandwith is wasted...
  1642.  
  1643. - mailbox 'read' only sets the 'READ' flag when the area is the
  1644.   users private mail area. This prevents users with sysop privs
  1645.   that read other private areas to mark stuff as read.
  1646.   eg. I rewrite lots of private mail into two private mailboxes,
  1647.   north.txt and south.txt, to be forwarded in those directions.
  1648.   I don't want regular users to be able to read this, so they can't be areas.
  1649.   I want to be able to read them myself (sysop privs), but doing so would
  1650.   previously set the 'READ' status and cause a message not to be forwarded!
  1651.   Thus the fix...
  1652. - When a message originates here, and goes out over bbs-forwarding,
  1653.   after our R: header, a blank line is inserted followed by the message text.
  1654.   (previously the text followed immediately)
  1655. - when forwarding a message out of a private area, when the message is a
  1656.   bulletin, the message does not get deleted (previously it would). Reason:
  1657.   i rewrite certain buls to a private area, so that regular users can't read
  1658.   them (eg. 'sb sysop@allor'). I also forward these, and thus might miss the
  1659.   message if it gets killed after forwarding... (now 'sp sysop@allor' still
  1660.   get killed after forwarding :-( )
  1661. - by changing the subject-prompt G3ZZC's LANLINK's auto-upload
  1662.   is supported (some of my users run this).
  1663. - mailbox 'MS' shows mail-status; number of received,forwarded msgs. etc.
  1664.   also shown with 'mbox mailstat' command
  1665. - userlogging does NOT work for area names 'help' This allows new users
  1666.   to list help messages over and over with a simple L command, without
  1667.   having to know the 'internals' of the L-subcommands. Suggested by
  1668.   my local users
  1669. - user is only notified of new received private mail if user is currently
  1670.   in his own mail area. Prevent users from doing RM upon new mail nofication
  1671.   and getting the new messages in a different area. Suggested by my local
  1672.   users
  1673.  
  1674. - remote-sysops 1-packet pings are allowed.
  1675.  
  1676.  
  1677. VERSION 0.99 (920310)
  1678. ************
  1679.  
  1680. - Mailbox command 'RM','VM' and 'KM' to read-mine, verbose-mine and kill-mine
  1681.   This will read at the most the first 19 unread messages, or
  1682.   kill (ie. delete) the first 19 read messages IN THE CURRENT AREA.
  1683.   (19 is inherent to the cmdparser routine)
  1684.   Also 'LA' to list all messages, and LM same as L for compatibility
  1685.   (ie. list unread messages)
  1686. - A commandfile, ~/onexit.nos, if present, will be parsed when the 'exit'
  1687.   command is given, and after this the system exits. (from iw0cnb)
  1688. - When the remote-listener receives a valid 'exit' or 'reset' command,
  1689.   the same stuff is done as when 'exit' is typed on the keyboard
  1690.   ie. processes are notified, onexit.nos parsed etc...
  1691.   then if 'reset' a system reset occurs, otherwize a regular exit()
  1692. - Mailbox user display ('M' or 'mbox') is enhanced, showing
  1693.   detailed state of all users
  1694.   (users in sysop mode will only show to others with sysop privs,
  1695.    regular users will see that user to be 'Idle')
  1696. - New mbox command 'mbox mailfor <interval>'
  1697.   (Can be compiled out by undefining 'MAILFOR' in config.h)
  1698.   <interval> is in seconds. A 'Mail for:' beacon will be send
  1699.   every <interval> seconds to the address 'MAIL'.
  1700.   It contains a list of all private mailfiles
  1701.   (ie. none-areas) that have unread mail.
  1702.   The beacon is also send when the timer is set,
  1703.   and can be forced (ie. kicked) with 'mbox mailfor now'
  1704.   Simple 'mbox mailfor' will show the timer value and the current
  1705.   users that have mail waiting...
  1706. - 'netrom load' now works !
  1707.  
  1708. VERSION 0.98 (920303)
  1709. ************
  1710. - LZW compression in smtp now works (thanks Gerard!(pa0gri))
  1711. - Mailbox minimal tcp negotiation added (thanks Bob!)
  1712. - (hopefully) fixed the last incompatibilities with BID's when
  1713.   forwarding.
  1714. - Made the 'R:' line "bulletproof" for certain fields not set (from iw0cnb).
  1715. - fixed bug that reset number of new messages when new mail was received
  1716.   in current public area
  1717. - made 'domain translate' work correctly again (from g1emm)
  1718. - fixed jumpstart problem (actually ax.25 spec 'problem') when a second
  1719.   SABM frame is received. (from Ron Murray, vk6zjm)
  1720. - trace only outputs to command session or files; ie. doesn't garble
  1721.   other sessions anymore (from iw0cnb)
  1722. - added a 'call' command to mailbox.
  1723.   (code is optional via the CALLBOOK switch in config.h)
  1724.   This is an automatic telnet connect
  1725.   to a host and port set with the 'callserver' command.
  1726.   Format is 'callserver <host> <port>' where the callbook server
  1727.   resides on tcp-port <port> on <host>
  1728.   This is mainly useful for gateway systems on Internet.
  1729.   It allows users to use the callbook-server at buffalo.edu in an easy way.
  1730.   Note: User needs to have telnet permissions
  1731.   eg: 'callserver marvin.cs.buffalo.edu 2000'
  1732.   then the mailbox 'call' command will try to telnet to this host/port
  1733. - added the 'at' timed command execution, from IW0CNB's code
  1734.   (this can be compiled optionally with the ATCMD switch in config.h)
  1735.   The "at" command with no arguments shows the list of events that are to
  1736.   be executed.
  1737.   at yymmddhhmm <command>
  1738.     Executes <command> at specified date,expressed in Year-Month-Day-Hour-Min.
  1739.     If specified date is past, the command is not executed.
  1740.   at hhmm <command>
  1741.     Executes <command> at specified hour and minute of the current day, or of
  1742.     the next day if the specified time is past.
  1743.   at now+hhmm <command>
  1744.     Executes <command> hh hours and mm minutes from now. hh and mm can be up
  1745.     to 99.
  1746.  
  1747.   Notes and examples:
  1748.   <command> may be any valid NOS command, possibly enclosed in quotes,
  1749.   as well as a DOS shell command.
  1750.   If you want multiple commands to be executed, use the "source <filename>"
  1751.   command.
  1752.   The third mode of operation requires the exact writing "now+" in lower case
  1753.   and without spaces between hhmm.
  1754.  
  1755.   Single command execution examples:
  1756.   at 9202150900 exit   /* Shuts off on 15 Feb 92 at 9:00am */
  1757.   at 2245 "! /c pkzip oldmail \spool\mail\*.*"
  1758.   at now+0500 "smtp kick"
  1759.  
  1760.   Multiple command execution examples:
  1761.   at now+0859 "source cleanup.net"
  1762.  
  1763. (VERSION 0.97b)
  1764. - fixed little incompatibility with texnet '*** linked' stuff
  1765. - added check for console on all session-invoking commands.
  1766.   (ie. you can not do 'dir',etc. from remote sysop anymore!)
  1767.  
  1768. VERSION 0.97 (920220)
  1769. ************
  1770.  
  1771. - User status keeping.
  1772.   The mailbox now keeps track of the last listed message
  1773.   in each area for each user. Next time the area is listed, by default
  1774.   only newer messages are listed. 'L start# stop#' and 'LL #' will
  1775.   still list all messages.
  1776.   This info is kept in a file 'areaname.USR' in \spool\mail .
  1777.   eg. the area 'amsat' has it's info in \spool\mail\amsat.usr
  1778.   The content is simply a list of user names, followed by the id-number
  1779.   of the last message listed in this area.
  1780.   The content is updated when the user switches areas, or logs out.
  1781.   The .usr files are build completely automatically, there is nothing
  1782.   you need to do to get things started.
  1783.   This feature can be turned of by undefining USERLOG in config.h
  1784.   It currently DOES NOT work in areas in subdirectories under ~spool/mail .
  1785.  
  1786. - The expanded bbs-forward R: line gets only send if all of
  1787.   mbox haddress, fwdinfo, qth and zip are set. Otherwize a simplified
  1788.   R: line gets send with only time, @-bbs and message-#
  1789.  
  1790. - the mailbox '*** linked to' handling is a bit more robust.
  1791.   Every user has permission to do this now, but if sysop-password is not
  1792.   set, SYSOP_CMD priviledges are reset.
  1793.   It will not allow some one to reset the NO_SENDCMD, NO_READCMD or
  1794.   NO_3PARTY protection, if they were disallowed in the original login.
  1795.   It now also sets the new call for outgoing gateway connects.
  1796.   Handles the TEXNET 'linked to' message, but doesn't use the ssid
  1797.   from this (i see no need for this)
  1798.   If 'linked to' is done, this logged to the logfile
  1799.  
  1800. VERSION 0.96
  1801. ************
  1802.  
  1803. - requested by wb5bbw: logging of mailbox telnet/netrom/ax25 gateway connects
  1804.  
  1805. - 'mbox expert' command is gone. Instead default state can be set for each
  1806.   user in ftpusers database. Use value of 16384 to set user as expert.
  1807.   X command from mailbox will still toggle, but NOT update the default in
  1808.   ftpusers.
  1809.  
  1810. - hidden ML mailbox command to show previous users,
  1811.   also shown with 'mbox past'
  1812.  
  1813. - lzw compression in smtp (same as in gri2.0d)
  1814.   (disabled in the distribution .exe, since there are reportedly bugs!)
  1815.  
  1816. VERSION 0.95
  1817. ************
  1818.  
  1819. - jumpstart has been ruggidized. Lapb now sets a flag in the ax.25 control
  1820.   block to indicate wether jumpstart was used. If not used, the first line
  1821.   to trigger the mailbox is eaten again.
  1822.   Also, a list of calls to excluded from jumpstart can be set (or shown) with:
  1823.   mbox jumpstart exclude <one or more call>
  1824.   eg:
  1825.   'mbox jumpstart exclude wg7j-4 kb7bhf-5 pa3dis'
  1826.   Now when either one of those connects, jumpstart will not be used.
  1827.   You can show the list of excluded calls with 'mbox jumstart exclude'
  1828.   or add more with additional 'mbox jumpstart exclude call call call...'
  1829.   lines
  1830.  
  1831. - added Jerzy Taraziuk's ksubr mods  (main-process stack checking)
  1832.  
  1833. - added code in lapb.c to drop non-local ax.25 routes when a connection closes
  1834.   (ie. routes coming from gateway users using digis etc.) Inspired by K4TQL
  1835.   Changed routes added in the mailbox gateway and in doconnect() from AX_LOCAL
  1836.   to AX_AUTO, such that these routes are only temporary.
  1837.   The only permanent ax.25 route entries are now those entered with the
  1838.   'ax25 route add' command.
  1839.  
  1840. - added Mike Billow, N1BEE's minheap trick in pc.c to (hopefully) resolve
  1841.   memory problems when shelled out with the multitasking shell on
  1842.  
  1843. - additional config.h switches to undefine multitasking shell code,
  1844.   ax.25 ip autoroute, shell-command and some unneeded sessions
  1845.   (for switch setup)
  1846.  
  1847. - dropped autoroute in the distribution because it causes problems
  1848.   when using vc for ip links. It still can be added by changing config.h
  1849.   and recompiling
  1850.  
  1851.  
  1852. VERSION 0.94
  1853. ************
  1854.  
  1855. - bbs flag in ftpuser:
  1856.   IS_BBS     -    the user should be treated as a bbs
  1857.   (#define IS_BBS      8192    /*This user is a bbs*/)
  1858.  
  1859. - node list in mailbox 'N' command is sorted, per Doug Crompton's code
  1860.   Sort can be done by alias or call, set by 'netrom route sort' command
  1861.   default: by ALIAS
  1862.  
  1863. - netrom neighbours can be listed with 'NR' from mailbox
  1864.   this also shows if a route has been used in the last 60 seconds
  1865.   (an '>' shows up in front)
  1866.  
  1867. - better protection for mbox password and lock commands
  1868.   (only access via keyboard, suggested by Gerard, pa0gri)
  1869.  
  1870. - fixed a longtime bug with loosing the BID when forwarding bbs mail
  1871.   that was received with a bid from someone else
  1872.  
  1873. - little bug fixed that would show multiple paths in the ftpserver pwd command
  1874.  
  1875. - when jumpstart is off, the line that triggers the mailbox (ie. the CR)
  1876.   will be eaten again, like in plain KA9Q (instead of being taken as a
  1877.   command, as in previous versions)
  1878.  
  1879. - ala PA0GRI:
  1880.   mailbox chat is now 'operator'
  1881.   mailbox users is now 'mboxusers'
  1882.   mailbox upload is back !
  1883.  
  1884. VERSION 0.93 (920126)
  1885. ************
  1886.  
  1887. - anonymous permission ala pa0gri's 'univperm'
  1888.  
  1889. - Additional mailbox user permissions:
  1890. NO_SENDCMD -  disallow all mail, except to 'sysop' or 'SYSOP'
  1891. NO_READCMD -  disallow reading of any mail
  1892. NO_3PARTY  -  disallow 3rd-party mail to be send
  1893. These bits need to be set in order to disallow those actions,
  1894. such that ftpusers need not be modified if you don't want to mess
  1895. with them
  1896.  
  1897. Thus permissions are now:
  1898. #define AX25_CMD        8       /* AX.25 gateway operation allowed */
  1899. #define TELNET_CMD    16    /* Telnet gateway operation allowed */
  1900. #define NETROM_CMD    32    /* NET/ROM gateway operation allowed */
  1901. #define SYSOP_CMD    64    /* Remote sysop access allowed */
  1902. #define EXCLUDED_CMD    128    /* This user is banned from the BBS */
  1903. /* 256 and 512 are used in PPP*/
  1904. #define NO_SENDCMD  1024    /*Disallow send command*/
  1905. #define NO_READCMD  2048    /*Disallow read command*/
  1906. #define NO_3PARTY   4096    /*Disallow third-party mail*/
  1907.  
  1908. - additional 'cls' command to clear the command-session screen
  1909.  
  1910. - mailbox command to set offset between computer's time and UTC.
  1911.   this is used with forwarding ax.25 bbs mail such that the R: line
  1912.   indicates correct UTC time with the 'z'.
  1913.   ie. if you don't have your computer running with UTC time,
  1914.   set this parameter.
  1915.  
  1916.   eg: on the west coast, local time is UTC - 8 hours.
  1917.       if your computer runs with local time, issue the following
  1918.       command:
  1919.       'mbox utc -8'
  1920.       The default value is 0, ie computer time = UTC .
  1921.  
  1922.       Both positive and negative offsets (for those outside the US :-))
  1923.       are supported. The code will automatically account for jumps into
  1924.       the next or previous day, or year and checks for leap-years on
  1925.       february 28/29
  1926.  
  1927. - Netrom Level 4 problem (not sending data queueud up)
  1928.   is fixed (ala Dave Perry, VE3IFB)
  1929.  
  1930. - Remote Sysop password protection
  1931.     Set the password with 'mbox password your_password'
  1932.     Maximum password lenght is 30 chars.
  1933.     NOTE: Users still need sysop premission in the ftpusers file !
  1934.     (this is easy to change in the soures)
  1935.     If the password is not set, users with sysop priviledges don't get to
  1936.     pass the query, but jump into sysop-mode right away. (the old way!)
  1937.     If it is set, 5 numbers are prompted. The user then needs to answer
  1938.     with the correct 5 characters from the password. The first char is number
  1939.     zero !
  1940.     You can give as many lines answering the query, to mislead people
  1941.     listening in :-). End with a blank line, and if one of the answers you
  1942.     gave was correct, sysop permission is granted!
  1943.  
  1944.     eg: 'mbox password *12345abCDE'
  1945.     you give the '@' command:
  1946.     system prompts: '3 7 2 9 0'
  1947.     you answer:     agk4e
  1948.                     thier
  1949.                     3b2D*           <--- the right answer !
  1950.                     9qPr&
  1951.                     <blank line>    <--- just hit <CR>
  1952.  
  1953.     Sysop permission is now granted !
  1954.  
  1955. -Forced NS16550 attaching
  1956.     optional 'f' parameter in 'attach asy' forces the presence of the 16550.
  1957.     eg: attach asy 0x3f8 4 slip sl0 2012 1006 2400 vf
  1958.     sets VJHeader compression ( the 'v') and forces the 16550 ('f')
  1959.  
  1960. VERSION 0.92 (920114)
  1961. ************
  1962.  
  1963. -Some additional configuration switches in config.h
  1964. These save lots of memory (MBFWD and ALLCMD undef'd save about 50k!)
  1965. MBFWD  - if not defined, excludes mailbox forwarding code
  1966.          and related commands
  1967. ALLCMD - if not defined, excludes a bunch of rarely used commands
  1968.          (I this did for the internet-slip server we run here)
  1969.     Excluded are:
  1970.     delete,rename,more,tail,dump,status,motd,cd,dir,finger,fkey,info,mail,mkdir
  1971.     pwd,record,rmdir,watch,test,upload,bbs
  1972. ALLSERV - if not defined, only the basic servers are included
  1973.     Excluded are:
  1974.     discard,echo,tip,ttylink servers,
  1975.     the ttylink command and the split screen code
  1976. Along with these are some fixes regarding NRS and TRACE. Main.c and scc.c
  1977. had a few things not properly ifdef'd such that modules needlesly were pulled
  1978. in at link-time.
  1979.  
  1980. -Kicking or stats of sockets made easier :
  1981. 1-'tcp|ax25|netrom kick' or 'tcp|ax25|netrom stat' commands
  1982.     can be given just the first 4 numbers.
  1983.     The '0008' is automatically appended when a lenght of 4 is detected.
  1984.     eg: 'tcp kick 76ea' is the same as 'tcp kick 76ea0008'
  1985.     (this is ala N1BEE)
  1986.  
  1987. 2- New command 'skick <socket#>' to automatically kick whatever type the
  1988.     socket is. This kicks valid sockets of type TCP, AX25 and NETROM.
  1989.     Use 'socket' command to get a list of used sockets.
  1990.  
  1991. -AX.25 forwarding is changed.
  1992. 1) the R: line is ALWAYS sent.
  1993.  
  1994. 2) some additional R: line fields can be set with
  1995.     -mbox zip <your zip>           : sets zip code to be used
  1996.         eg. 'mbox zip 97330'             will show 'Z:97330' in R: line
  1997.     -mbox haddress <your Haddress> : sets Hierarchical address
  1998.         eg. 'mbox haddress #CRV.OR.USA' (note NO leading period!)
  1999.                 will show '@WG7J.#CRV.OR.USA' in R: line (assuming Mycall
  2000.                 is set to WG7J)
  2001.     -mbox fwdinfo <your info>      : sets [info]
  2002.         eg. 'mbox fwdinfo "BCARES BBS"'  will show '[BCARES BBS]' in R: line
  2003.         eg. 'mbox fwdinfo Testing        will show '[Testing]' in R: line
  2004.     -mbox qth <"qth, St">          : sets your qth (and state)
  2005.         eg. 'mbox qth "Corvallis, OR"'   will show 'Corvallis, OR' in R: line
  2006.         eg. 'mbox qth Corvallis          will show 'Corvallis' in R: line
  2007.  
  2008. 3) A message number is sent.
  2009.    The message number sent in the '#:' segment comes from the 'id AA####'
  2010.    part of the smtp header.
  2011.  
  2012.     The R: line looks as follows:
  2013. R:date/time @:MYCALL.HADDRESS [your info] your-qth-st #:IDNUM Z:your-zip
  2014.  
  2015. 4) Optionally sending of the smtp headers.
  2016.     Sometimes a message will come in over SMTP and go out via AX.25 forwarding.
  2017. Normally the SMTP headers of the message are NOT sent. Thus there is no trace-
  2018. back trail beyond your system, since the only trace is your R: line.
  2019. If you want to include most of the SMTP headers from all previous
  2020. delivery hops, then use the command :
  2021.  
  2022. 'mbox smtptoo on|yes|1'     (default: OFF)
  2023.  
  2024. (This does not send some duplicate line line Subject: etc. that already have
  2025. been sent)
  2026.  
  2027. VERSION 0.91 (920103)
  2028. ************
  2029. These mods originated in my work on the V25/V40 port of NOS. Version number
  2030. is taken from that code-version.
  2031.  
  2032. Several NET/ROM changes:
  2033.  
  2034. One netrom call, different from any other interface call can be set with
  2035. 'netrom mycall <nrcall>'   (or 'ifconfig netrom linkaddress yourcall')
  2036. This is the call used in netrom route broadcasts !
  2037.  
  2038. Netrom alias setting:
  2039. Either the 'old' way can be used:
  2040. netrom interface <label> <alias> <pathqualilty>
  2041. or the alias can be set with 'netrom alias <myalias>'.
  2042.  
  2043. If 'netrom alias' has not been set when the old 'netrom interface' command
  2044. is given, the alias will be taken from this.
  2045. If 'netrom alias' has been set, the 'netrom interface' alias is ignored.
  2046. If the alias is set with the 'netrom interface' command, later
  2047. 'netrom alias' commands will override the alias !
  2048.  
  2049. Thus there is only ONE alias for the system
  2050. This alias is used for ALL active netrom interfaces, wether you set
  2051. different aliases in the 'netrom interface' commands or not !
  2052.  
  2053. This alias is also used in netrom route broadcasts.
  2054. (
  2055. The 'netrom interface' commands doesn't need the alias in it anymore
  2056. You can use a simlified version of the netrom interface command:
  2057. 'netrom interface <ifname> <quality>'
  2058. )
  2059.  
  2060. Connects (and digi's) to this netrom call and to the alias (with ANY ssid)
  2061. are accepted.
  2062.  
  2063. If not running netrom, you can still set the netrom alias, and thus
  2064. allow connections to the alias...
  2065. (digipeating also works then, with any ssid)
  2066.  
  2067. SOME EXAMPLES:
  2068. ******
  2069. eg. 1
  2070. if you have the following configured :
  2071.  
  2072. netrom mycall WG7J-11
  2073. netrom alias WGJBOX
  2074. netrom interface ax0 192     #assuming ax0 and ax1 are valid interfaces
  2075. netrom interface ax1 191
  2076.  
  2077. then netrom broadcasts on both ax0 and ax1 will announce you as WGJBOX:WG7J-11
  2078. users can connect (or digi's via (if enabled)) WG7J-11, WGJBOX-x, where x=0-15
  2079. Connects to the regular ax25 mycall, or other valid interface calls
  2080. set with ifconfig are accepted as well.
  2081. ******
  2082. eg. 2
  2083. if you don't run netrom but still want an alias for your system
  2084. (and netrom-support is compiled in your executable :-))
  2085. then simply set the alias:
  2086.  
  2087. netrom alias WGJBOX
  2088.  
  2089. This allows connections and digi's (if enabled) to WGJBOX-x, where x=0-15
  2090. Connects to the regular ax25 mycall, or other valid interface calls
  2091. set with ifconfig are accepted as well.
  2092. ******
  2093.  
  2094. -LOTS of MAILBOX changes:
  2095.  
  2096. - mailbox outgoing connects use the user call !
  2097.   If a user logs in over telnet, the login name will be used as call,
  2098.   if:
  2099.   A -  there is at least 1 digit (0-9) in the name
  2100.   B -  the name can successfully be set to a call
  2101.     (ie, 'anonymous' won't work !)
  2102.   If the above 2 rules don't work, ax.25 and netrom permission are
  2103.   denied, no matter what they we're set to in ftpusers
  2104.   Be careful, this still allow someone with '4us' as login and
  2105.   permissions set, to go out on ax.25 or netrom with call '4us-15' !!
  2106.  
  2107.  
  2108. JUMPSTART:
  2109. The mailbox is jump-started when:
  2110. the remote address connecting to us is not a known netrom neighbour and
  2111. the interface mode is not VC. If both these are true, it is assume to be
  2112. a user connecting to the mailbox, and the mailbox is jump-started
  2113. upon the SABM frame is received and answered. Thus NO ADDITIONAL cr or whatever
  2114. is needed to trigger the mailbox...
  2115.  
  2116. In Yeoman's terms: regular users get the prompt IMMEDIATELY upon connecting!!
  2117.  
  2118. The above is on by default, but can be changed (ie. turned off) with
  2119. 'mbox jumpstart on/off' (default: ON)
  2120.  
  2121. MAILBOX PROMPT:
  2122. 'mbox expert on/off'  (default: OFF)
  2123. Start user in Expert mode; ie short prompt. This can be toggled from
  2124. the mailbox with the (X)pert command.
  2125.  
  2126. 'mbox nrid on/off'    (default: OFF)
  2127. If on, the prompt is 'ALIAS:CALL} ' followed by the whole list of
  2128. commands when not in expert mode.
  2129. If off, the prompt is as normal in none-expert mode, and '> ' in
  2130. expert mode. BBS prompt is unchanged.
  2131.  
  2132. Thus,
  2133. With nrid OFF and expert OFF, the system looks like 'normal':
  2134. Msg #0: A,B,.....,Z,?>
  2135.  
  2136. With nrid OFF and expert ON, you get a short prompt :
  2137. >
  2138.  
  2139. With nrid ON and expert ON, it looks like a 'standard netrom' switch:
  2140. WGJBOX:WG7J-11}
  2141.  
  2142. With nrid ON and expert OFF, it looks like :
  2143. WGJBOX:WG7J-11} Msg #0: A,B,.....,Z,?>
  2144.  
  2145. USER COMMAND-CHANGES
  2146. No separate pseudo-netrom interface (the old N command) exists anymore.
  2147. (N)odes has taken its place, giving the regular list of nodes
  2148.  
  2149. New mailbox user commands are:
  2150. (X)pert: toggle expert status
  2151. (P)orts: gives port/interface description
  2152. (N) nodename : gives more descriptive information
  2153. (U)sers: shows all users and outbound link with type (ie. telnet,netrom,ax25)
  2154.     (the Upload command has been sarificed for this, since no-one around here
  2155.      uses that)
  2156. (C)onnect:
  2157. 'c' is the old chat with sysop.
  2158. 'c name' is a netrom connect, accepting BOTH ALIAS and CALL. Gives error
  2159.          and help if name isn't either one.
  2160. 'c port call' is an ax25 connect. Uses the USER's call with inverted SSID !
  2161.         gives help on error.
  2162.  
  2163.  
  2164. -KEYBOARD LOCKING
  2165. 'lock password <your unlock password>' sets the password
  2166. typing this DOES NOT clear the screen, so set it in the autoexec file
  2167. or type lots of CR's to clear the screen after this
  2168. then typing 'lock' will disable any command from being executed
  2169. until the password is type. During this input echoing is disabled,
  2170. so that your password will not be echoed to the console.
  2171. This only works form the keyboard, so that remote sysops cannot lock you
  2172. out !
  2173.  
  2174. -MINOR COSMETIC CHANGES:
  2175.  
  2176. -'ifconfig <iface> description "your description"'
  2177. This shows up in the new (P)orts command in the mailbox,
  2178. as well as the ifconfig list
  2179.  
  2180. - G4JEC's ax.25 ip autoroute code is added.
  2181.   This code automatically adds a temporary ip route to the target
  2182.   (if none exists) when ip packets are received.
  2183.   Configurable with:
  2184.   'autoroute on/off'. (default: OFF)
  2185.  
  2186.   As suggested by Mike Billow, this only works when RSPF is not active.
  2187.   Attaching the first rspf interface automatically turns it off, and
  2188.   autoroute can not be turned on anymore after that.
  2189.  
  2190. -mailbox sysop (@) is protected against 'exit'. This now simply returns
  2191.  you to the mailbox, instead of exiting net.exe!
  2192.  
  2193. -kiss attach checks for asy interface type (such that you cannot attach
  2194.  kiss ontop of the netrom interface etc.)
  2195.  
  2196. -mbuf.c interrupt allocation fixed per hb9rwm
  2197.  
  2198.  
  2199.